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

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

[复制链接]
  • 打卡等级:常住居民III
  • 打卡总天数:181
  • 最近打卡:2025-09-15 11:00:40

76

主题

6717

回帖

1万

积分

超级版主

积分
14127
发表于 2025-4-21 20:21:26 | 显示全部楼层
ziju*** 发表于 2025-4-21 16:53
按键和显示,设置1-9档选转速就可以。给个信号,一直工作,没信号停止,

可以,编程即可实现。
回复

使用道具 举报 送花

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

1

主题

7

回帖

129

积分

注册会员

积分
129
发表于 2025-4-29 21:54:52 | 显示全部楼层
梁工,这程序我用来驱动步进电机指针仪表,运转的很平稳。现在就是转速信号输进来指针的响应不是很灵敏,你有没有做过这方面开发。想请教一下你。

点评

仪表一般响应都是比较缓慢的,你要响应很快?具体速度要求多少? 步进电机对于转速表,速度很快的。  详情 回复 发表于 2025-4-29 23:22
回复

使用道具 举报 送花

  • 打卡等级:常住居民III
  • 打卡总天数:181
  • 最近打卡:2025-09-15 11:00:40

76

主题

6717

回帖

1万

积分

超级版主

积分
14127
发表于 2025-4-29 23:22:30 | 显示全部楼层
yuys9*** 发表于 2025-4-29 21:54
梁工,这程序我用来驱动步进电机指针仪表,运转的很平稳。现在就是转速信号输进来指针的响应不是很灵敏,你 ...

仪表一般响应都是比较缓慢的,你要响应很快?具体速度要求多少? 步进电机对于转速表,速度很快的。
回复

使用道具 举报 送花

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

1

主题

7

回帖

129

积分

注册会员

积分
129
发表于 2025-4-30 15:05:18 | 显示全部楼层
梁*** 发表于 2025-4-29 23:22
仪表一般响应都是比较缓慢的,你要响应很快?具体速度要求多少? 步进电机对于转速表,速度很快的。 ...

转速信号变化快的时候指针也要快速转动,这部分的算法写不出来。

点评

转速数据作为转角数据,比如转速6000,对应步进电机转动270度,1.8度一步,则270度对应150步。假设使用8细分,则为1200步,6000/1200=5,即转速5对应一步。 获取的转速为Vx,则目标步数 s_step = Vx/5,再跟当前位置  详情 回复 发表于 2025-4-30 22:59
回复

使用道具 举报 送花

  • 打卡等级:常住居民III
  • 打卡总天数:181
  • 最近打卡:2025-09-15 11:00:40

76

主题

6717

回帖

1万

积分

超级版主

积分
14127
发表于 2025-4-30 22:59:03 | 显示全部楼层
yuys9*** 发表于 2025-4-30 15:05
转速信号变化快的时候指针也要快速转动,这部分的算法写不出来。

转速数据作为转角数据,比如转速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;
如果电机正在转动,则要处理好叠加的步数。
回复

使用道具 举报 送花

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

1

主题

7

回帖

129

积分

注册会员

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

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

点评

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

使用道具 举报 送花

  • 打卡等级:常住居民III
  • 打卡总天数:181
  • 最近打卡:2025-09-15 11:00:40

76

主题

6717

回帖

1万

积分

超级版主

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

什么是“叠加的步数”?
回复

使用道具 举报 送花

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

1

主题

7

回帖

129

积分

注册会员

积分
129
发表于 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
回复

使用道具 举报 送花

  • 打卡等级:常住居民III
  • 打卡总天数:181
  • 最近打卡:2025-09-15 11:00:40

76

主题

6717

回帖

1万

积分

超级版主

积分
14127
发表于 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个脉冲开会时减速。
回复

使用道具 举报 送花

  • 打卡等级:常住居民III
  • 打卡总天数:159
  • 最近打卡:2025-09-14 20:43:17
已绑定手机

5

主题

31

回帖

62

积分

注册会员

积分
62
发表于 2025-8-22 23:59:00 | 显示全部楼层
先不管程序怎么控制的,总而言之,言而总之,电机转的呼呼的了
111.png

111.mp4

805.68 KB, 下载次数: 8

回复

使用道具 举报 送花

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

本版积分规则

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

GMT+8, 2025-9-16 11:24 , Processed in 0.171384 second(s), 108 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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