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

三相无刷直流电机驱动-STC8H-STC32G-无HALL 改进启动算法,启动可靠

[复制链接]
  • 打卡等级:初来乍到
  • 打卡总天数:5
  • 最近打卡:2025-09-06 11:15:32

0

主题

18

回帖

128

积分

注册会员

积分
128
发表于 2025-9-6 11:15:32 | 显示全部楼层
梁工,这边碰到一个棘手问题。还请帮一下,帮忙看是否有解决方案。
         我这边的应用场景:310V 1W转,大电流的设备。
         因为是大功率设备,所以需要很强的RC滤波消除噪声。但是带来的副作用就i是RC 的相位差太大,无法用软件方法补偿。
         两个的设计方向有冲突。
         能否帮忙给出一个方案,避开PWM 输出为高的时候,进行过零检测?

点评

按理,PWM叠加到反电动势,不会影响过0检测的,如果你的影响严重,则很可能是PCB排版不合理,要将驱动电路的地、电源地、单片机地接于一点(即一点接地),避免地线电流干扰比较器检测过0. 请参考这个帖子,其检测  详情 回复 发表于 2025-9-6 12:53
回复

使用道具 举报 送花

  • 打卡等级:常住居民III
  • 打卡总天数:191
  • 最近打卡:2025-09-30 11:55:49

76

主题

6746

回帖

1万

积分

超级版主

积分
14267
发表于 2025-9-6 12:53:17 | 显示全部楼层
mark*** 发表于 2025-9-6 11:15
梁工,这边碰到一个棘手问题。还请帮一下,帮忙看是否有解决方案。
         我这边的应用场景:310V 1W转 ...

按理,PWM叠加到反电动势,不会影响过0检测的,如果你的影响严重,则很可能是PCB排版不合理,要将驱动电路的地、电源地、单片机地接于一点(即一点接地),避免地线电流干扰比较器检测过0.

请参考这个帖子,其检测过0时是关闭驱动的,所以没有PWM干扰,但是调试要求比较高。
FOC-车规, 24万转@STC32G12K128-24A车规,最便宜的 车规-FOC,STC-FOC 算法库已提供
https://www.stcaimcu.com/thread-19545-1-1.html
(出处: 国芯人工智能技术交流网站)
回复

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:5
  • 最近打卡:2025-09-06 11:15:32

0

主题

18

回帖

128

积分

注册会员

积分
128
发表于 2025-9-6 13:49:39 | 显示全部楼层
梁*** 发表于 2025-9-6 12:53
按理,PWM叠加到反电动势,不会影响过0检测的,如果你的影响严重,则很可能是PCB排版不合理,要将驱动电 ...

感谢梁工快速回复。我的想法是检查PWM技术比较器的值,去判断PWM的状态。通过判断PWM的计数值和比较器设定值来PWM是否在关闭状态。我是不是可以访问哪个寄存器来判断呢?

点评

PWM是否在关闭的状态,关闭是主动的,你随时可以知道啊!  详情 回复 发表于 2025-9-6 14:41
回复

使用道具 举报 送花

  • 打卡等级:常住居民III
  • 打卡总天数:191
  • 最近打卡:2025-09-30 11:55:49

76

主题

6746

回帖

1万

积分

超级版主

积分
14267
发表于 2025-9-6 14:41:09 | 显示全部楼层
mark*** 发表于 2025-9-6 13:49
感谢梁工快速回复。我的想法是检查PWM技术比较器的值,去判断PWM的状态。通过判断PWM的计数值和比较器设 ...

PWM是否在关闭的状态,关闭是主动的,你随时可以知道啊!
回复

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:5
  • 最近打卡:2025-09-06 11:15:32

0

主题

18

回帖

128

积分

注册会员

积分
128
发表于 2025-9-6 19:42:54 | 显示全部楼层
梁*** 发表于 2025-9-6 14:41
PWM是否在关闭的状态,关闭是主动的,你随时可以知道啊!

确切的说,应该是如何知道PWM的比较器输出是真还是假。是否寄存器可以访问查询呢?

点评

PWM的比较器输出是真还是假? PWM的比较器是啥?  详情 回复 发表于 2025-9-7 13:45
回复

使用道具 举报 送花

  • 打卡等级:常住居民III
  • 打卡总天数:191
  • 最近打卡:2025-09-30 11:55:49

76

主题

6746

回帖

1万

积分

超级版主

积分
14267
发表于 2025-9-7 13:45:01 | 显示全部楼层
mark*** 发表于 2025-9-6 19:42
确切的说,应该是如何知道PWM的比较器输出是真还是假。是否寄存器可以访问查询呢? ...

PWM的比较器输出是真还是假? PWM的比较器是啥?
回复

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:323
  • 最近打卡:2025-10-01 09:20:00

2

主题

14

回帖

1402

积分

金牌会员

积分
1402
发表于 2025-9-12 12:28:41 | 显示全部楼层
使用“三相无刷电机驱动-STC32G-无HALL-Ver2.rar ”程序测试,STC32F 只能使用单端PWM模式(#define         CONTEMPRATY         0),调速控制才能正常控制。如果设置为1(使用互补PWM),启动后无法进行调速控制,一直保持一个恒定的速度运行。使用“三相无刷电机驱动-STC32G-无HALL-Ver3”程序测试,STC32F 使用互补PWM模式,运行和调速控制都正常。

点评

下面的值改大: #define STARTUP_END_PhaseTime 8000 // 判断启动结束的换相时间us  详情 回复 发表于 2025-9-12 16:24
回复

使用道具 举报 送花

  • 打卡等级:常住居民III
  • 打卡总天数:191
  • 最近打卡:2025-09-30 11:55:49

76

主题

6746

回帖

1万

积分

超级版主

积分
14267
发表于 2025-9-12 16:24:07 | 显示全部楼层
Hello*** 发表于 2025-9-12 12:28
使用“三相无刷电机驱动-STC32G-无HALL-Ver2.rar ”程序测试,STC32F 只能使用单端PWM模式(#define         CONTE ...

下面的值改大:
#define   STARTUP_END_PhaseTime  8000   // 判断启动结束的换相时间us
回复

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:323
  • 最近打卡:2025-10-01 09:20:00

2

主题

14

回帖

1402

积分

金牌会员

积分
1402
发表于 2025-9-12 17:38:13 | 显示全部楼层
梁*** 发表于 2025-9-12 16:24
下面的值改大:
#define   STARTUP_END_PhaseTime  8000   // 判断启动结束的换相时间us
...

非常感谢梁工解答,修改“STARTUP_END_PhaseTime”宏数值后,互补PWM驱动方式下,电机能正常运转并调速控制了。
回复

使用道具 举报 送花

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

本版积分规则

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

GMT+8, 2025-10-2 03:55 , Processed in 0.124713 second(s), 99 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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