找回密码
 立即注册
查看: 3977|回复: 11

STC32G系列-高级PWM-两相步进电机-细分驱动

[复制链接]
  • 打卡等级:偶尔看看III
  • 打卡总天数:50
  • 最近打卡:2025-04-30 22:59:03

73

主题

5882

回帖

1万

积分

超级版主

积分
12073
发表于 2023-4-25 17:02:12 | 显示全部楼层 |阅读模式
两相步进电机,  STC32G系列
STC32G系列-高级PWM-两相步进电机-细分驱动-1.png
===用高级PWM实现SPWM细分驱动
/*************        功能说明        **************
用B组高级PWM细分驱动2相4线小型步进电机, 支持1、2、4、8、16、32、64细分, 比如1.8度的电机4细分到0.45度.
本程序用于演示SPWM多细分直接驱动2相4线小型步进电机的原理, 电压驱动.
实际的专用驱动器是用电流来驱动的, 这样比较通用, 但MCU的PWM做成电流驱动则会很复杂.
电压驱动的不足是, 由于电机反电动势的影响, 转速越高, 电流越小, 力矩越小, 而慢速或静止时电流很大.
为了简单, 利于初学者, 本例使用线性加减速, 如要使用别的加减速算法, 用户自行设计.
使用外设:
Timer0: 工作于1ms中断, 提供1ms时隙标志和串口超时处理.
Timer1: 处理电机驱动.
Timer2: 串口1波特率.
串口1:  命令控制, 串口设置115200,8,1,n.
PWM:    B组4路PWM5~PWM8分别从P2.0 P2.1 P2.2 P2.3输出驱动步进电机.

串口命令设置:
L1,500,1000   --> 马达1以500Hz正转1000个脉冲, 脉冲数为0则连续转动.
R1,500,1000   --> 马达1以500Hz反转1000个脉冲, 脉冲数为0则连续转动
s             --> 停止所有电机
使用42电机验证。

验证电路硬件照片.JPG

电路
STC32G系列-高级PWM-两相步进电机-细分驱动-1.png

程序源码、电路:
23-STC32G-PWMB-两相步进电机-细分驱动.rar (244.6 KB, 下载次数: 377)


视频效果请看另一个贴:

使用SPWM 1~64细分驱动2相4线步进电机效果视频
https://www.stcaimcu.com/forum.php?mod=viewthread&tid=2001
(出处: 国芯论坛-STC全球32位8051爱好者互助交流社区)



回复

使用道具 举报 送花

2

主题

10

回帖

100

积分

注册会员

积分
100
发表于 2023-6-17 11:13:30 | 显示全部楼层
牛人牛帖,感谢感谢!!!!
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看III
  • 打卡总天数:38
  • 最近打卡:2024-02-22 09:29:24

5

主题

51

回帖

285

积分

中级会员

积分
285
发表于 2023-11-27 11:08:24 | 显示全部楼层
回复

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:513
  • 最近打卡:2025-05-01 04:31:49

24

主题

515

回帖

986

积分

荣誉版主

积分
986
发表于 2023-11-27 12:45:20 | 显示全部楼层
L298D芯片过时了。
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:246
  • 最近打卡:2025-04-30 10:10:32

3

主题

155

回帖

537

积分

高级会员

积分
537
发表于 2024-2-25 22:12:39 | 显示全部楼层
学习一下
回复

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:1
  • 最近打卡:2024-04-12 20:26:48

0

主题

3

回帖

28

积分

新手上路

积分
28
发表于 2024-4-12 20:34:48 | 显示全部楼层
大佬,你好,我想问一下你这几个PWMB_CCR1H,PWMB_CCR1L到PWMB_CC4H和PWMB_CCR4L以及PWMB_BKR这几个寄存器在技术手册里找不到是为什么,以及我的STC32G.H里也没有这几个,而你的有,这是怎么回事啊,谢谢
屏幕截图 2024-04-12 202350.png
屏幕截图 2024-04-12 202929.png
屏幕截图 2024-04-12 202941.png

点评

头文件问题:可能你的文件太旧了,或者你的头文件寄存器不完整,请下载我主楼的例子,里面有头文件。 寄存器:技术手册有详细的说明,怎么可能找不到呢? 11章-特殊功能寄存器,列出了所有的寄存器。  详情 回复 发表于 2024-4-12 22:39
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看III
  • 打卡总天数:50
  • 最近打卡:2025-04-30 22:59:03

73

主题

5882

回帖

1万

积分

超级版主

积分
12073
发表于 2024-4-12 22:39:20 | 显示全部楼层
二十七*** 发表于 2024-4-12 20:34
大佬,你好,我想问一下你这几个PWMB_CCR1H,PWMB_CCR1L到PWMB_CC4H和PWMB_CCR4L以及PWMB_BKR这几个寄存器在 ...

头文件问题:可能你的文件太旧了,或者你的头文件寄存器不完整,请下载我主楼的例子,里面有头文件。
寄存器:技术手册有详细的说明,怎么可能找不到呢?
             11章-特殊功能寄存器,列出了所有的寄存器。
              25.9-PWMA/PWMB寄存器描述,对所有PWM相关的寄存器有详细描述,不知道你为什么看不到。
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:1
  • 最近打卡:2024-04-12 20:26:48

0

主题

3

回帖

28

积分

新手上路

积分
28
发表于 2024-4-12 23:36:09 | 显示全部楼层
梁*** 发表于 2024-4-12 22:39
头文件问题:可能你的文件太旧了,或者你的头文件寄存器不完整,请下载我主楼的例子,里面有头文件。
寄 ...

OK,OK,谢谢了,问题已解决
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:9
  • 最近打卡:2025-04-30 15:05:18

1

主题

5

回帖

95

积分

注册会员

积分
95
发表于 2025-3-2 20:46:52 | 显示全部楼层
梁工你好,我用这个程序直接步进电机,电机也是2相4线的,没加驱动芯片。电机启动比较困难,启动了以后正常运作的时候就没问题

点评

只要没有磁饱和,则步进电机的转矩跟电流成正比,所以,你看下你的驱动电流是否过小了。  详情 回复 发表于 2025-3-2 22:12
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看III
  • 打卡总天数:50
  • 最近打卡:2025-04-30 22:59:03

73

主题

5882

回帖

1万

积分

超级版主

积分
12073
发表于 2025-3-2 22:12:33 | 显示全部楼层
yuys9*** 发表于 2025-3-2 20:46
梁工你好,我用这个程序直接驱动仪表的指针电机,电机也是2相4线的,没加驱动芯片。电机启动比较困难,启动 ...

只要没有磁饱和,则步进电机的转矩跟电流成正比,所以,你看下你的驱动电流是否过小了。
回复 支持 反对

使用道具 举报 送花

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

本版积分规则

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

GMT+8, 2025-5-1 19:23 , Processed in 0.126015 second(s), 121 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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