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

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

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

74

主题

6088

回帖

1万

积分

超级版主

积分
12715
发表于 2025-5-19 20:03:40 | 显示全部楼层
旧巷*** 发表于 2025-5-19 15:57
希望早日看到用stc做的FOC控制方案

请参考!
FOC@Ai8051U横空出世,可控制7万5千转的电机!系统成本6元
https://www.stcaimcu.com/thread-17266-1-1.html
(出处: 国芯技术交流网站)
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看I
  • 打卡总天数:16
  • 最近打卡:2025-06-05 13:26:20
已绑定手机

4

主题

24

回帖

200

积分

中级会员

积分
200
发表于 2025-5-23 11:54:43 | 显示全部楼层
梁工,这个程序能适用电子风扇吗,比之前的好很多,但是还是没有调到能100%启动,调了两天的参数,感觉没有适配的,在纯调速的情况下,启动不是很好,加了PID的情况下,偶尔反转,然后在正过来,或者正转没达到转速,然后就是自己慢慢加大占空比,然后到达临界值、找到过零点之后,进行PID调速,启动时会出现反转的原因可能有哪些,程序中感觉没有反转相关的代码。

点评

只要是无感三相电机都可以,目前我测试手上的各种电机都可以可靠启动。 PID也是在启动之后,进入闭环才有PID,启动都是一样的。你出现反转说明启动参数跟电机性能差别很大。我一般只分高速电机和低速电机就可以了。  详情 回复 发表于 2025-5-23 15:41
回复 支持 反对

使用道具 举报 送花

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

74

主题

6088

回帖

1万

积分

超级版主

积分
12715
发表于 2025-5-23 15:41:00 | 显示全部楼层
月亮*** 发表于 2025-5-23 11:54
梁工,这个程序能适用电子风扇吗,比之前的好很多,但是还是没有调到能100%启动,调了两天的参数,感觉没有 ...

只要是无感三相电机都可以,目前我测试手上的各种电机都可以可靠启动。
PID也是在启动之后,进入闭环才有PID,启动都是一样的。
你出现反转说明启动参数跟电机性能差别很大。
我一般只分高速电机和低速电机就可以了。

不知道你说“电子风扇”是啥,我主楼的视频,其一就是家用直流风扇的三相电机。
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看I
  • 打卡总天数:16
  • 最近打卡:2025-06-05 13:26:20
已绑定手机

4

主题

24

回帖

200

积分

中级会员

积分
200
发表于 2025-5-23 16:39:40 | 显示全部楼层
就是汽车水箱散热用的风扇,最大速度2200转,应该算是低速吧,参数和电机性能不匹配的话,又有一半的几率是可以正常启动的,这个算是不匹配吗。

点评

匹配的话,基本是100%的启动成功。  详情 回复 发表于 2025-5-23 17:13
回复 支持 反对

使用道具 举报 送花

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

74

主题

6088

回帖

1万

积分

超级版主

积分
12715
发表于 2025-5-23 17:13:40 | 显示全部楼层
月亮*** 发表于 2025-5-23 16:39
就是汽车水箱散热用的风扇,最大速度2200转,应该算是低速吧,参数和电机性能不匹配的话,又有一半的几率是 ...

匹配的话,基本是100%的启动成功。
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:1
  • 最近打卡:2025-05-27 20:27:38
已绑定手机

0

主题

1

回帖

12

积分

新手上路

积分
12
发表于 2025-5-27 20:27:38 来自手机 | 显示全部楼层
请问下,phasetime = 0- phasetime,这步是什么意思啊?得个负数

点评

1、phasetime是16位无符号,不会有负数。 2、由于计数器是16位加计数,满溢出,所以要取其补码: 0-phasetime = 65536UL-phasetime。  详情 回复 发表于 2025-5-28 00:13
回复 支持 反对

使用道具 举报 送花

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

74

主题

6088

回帖

1万

积分

超级版主

积分
12715
发表于 2025-5-28 00:13:49 | 显示全部楼层
lo*** 发表于 2025-5-27 20:27
请问下,phasetime = 0- phasetime,这步是什么意思啊?得个负数

1、phasetime是16位无符号,不会有负数。
2、由于计数器是16位加计数,满溢出,所以要取其补码:  0-phasetime = 65536UL-phasetime。
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:4
  • 最近打卡:2025-06-12 23:26:56

0

主题

15

回帖

106

积分

注册会员

积分
106
发表于 2025-6-2 12:00:52 | 显示全部楼层
梁工你好~
  程序中有关这段内容不是很理解~能帮忙解释一下为何设置为18为门限吗?
  判断是否进入闭环是为何是PhaseTime<18呢?

        if(PhaseTime >= 18)        Degree30_time = PhaseTime/2 - 8;        //换相时间的一半, 即30度电角度, -8为修正8次采样时间
        else                                Degree30_time = 1;                                        //换相时间的一半, 即30度电角度

点评

这个计算是为了抵消连续8次采样到相同的比较器输出,即,比较器过0信号出现,连续检测到8次,才认为有效,则过0检测滞后了8次采样时间,需要减去。 PhaseTime是换相时间(60度角),延时30度角时间 Degree30_time =  详情 回复 发表于 2025-6-2 13:37
回复 支持 反对

使用道具 举报 送花

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

74

主题

6088

回帖

1万

积分

超级版主

积分
12715
发表于 2025-6-2 13:37:13 | 显示全部楼层
mark*** 发表于 2025-6-2 12:00
梁工你好~
  程序中有关这段内容不是很理解~能帮忙解释一下为何设置为18为门限吗?
  判断是否进入闭环是为 ...

这个计算是为了抵消连续8次采样到相同的比较器输出,即,比较器过0信号出现,连续检测到8次,才认为有效,则过0检测滞后了8次采样时间,需要减去。
PhaseTime是换相时间(60度角),延时30度角时间 Degree30_time = PhaseTime /2;
减去8次采样时间就是 Degree30_time = Degree30_time - 8;
合在一起计算就是 Degree30_time = PhaseTime /2 - 8;
假设 Degree30_time <=17,则Degree30_time/2 <=8,
从而 Degree30_time = PhaseTime /2 - 8  <=0,将会导致错误,所以要限制Degree30_time为非0,那么就是要求 Degree30_time = PhaseTime /2 - 8 >= 1;
反过来计算就是  PhaseTime >= (1+8)*2 = 18, 就是程序中 if(PhaseTime >= 18)。

上述解释明白了吗?
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:常住居民III
  • 打卡总天数:140
  • 最近打卡:2025-06-15 10:42:19

0

主题

112

回帖

830

积分

高级会员

积分
830
发表于 2025-6-2 22:04:49 | 显示全部楼层
梁工您好!我将V2版的程序下载到板子后驱动电机,启动正常可电机转速很低,估计每分钟约有200转左右,调节电位器速度也不跟着变化,一直保持低速运转,是怎么回事

点评

因为电机转速很低,所以要改长结束启动的换相时间: [attachimg]102418[/attachimg] 启动正常可电机转速很低,估计每分钟约有200转左右,4极对,则换相时间大约12500us,改为下面值就可以了: #define STARTUP_E  详情 回复 发表于 2025-6-2 22:27
回复 支持 反对

使用道具 举报 送花

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

本版积分规则

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

GMT+8, 2025-6-16 04:20 , Processed in 0.146942 second(s), 108 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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