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

BLDC三相无刷直流电机驱动-8H系列/32G系列-无HALL, 12万转, 视频讲解,改进启动算法

 火... [复制链接]
  • 打卡等级:常住居民II
  • 打卡总天数:95
  • 最近打卡:2025-06-17 10:15:05

74

主题

6092

回帖

1万

积分

超级版主

积分
12731
发表于 2024-4-22 14:50:17 | 显示全部楼层
本帖最后由 梁工 于 2024-4-22 15:03 编辑
顾*** 发表于 2024-4-22 13:21
梁工你好!
“/******************* 强制电机启动函数 ***************************/
void StartMotor(void ...

你怎么觉得会有问题?  无数的用户验证过,没有问题滴!
if(timer < 40)  return;   这一句,只要timer小于40就会返回。如果条件不满足,你用break不是一样出不去,永远循环?
timer -= timer /16;   这一句,timer值每循坏一次就减小一次,如果不退出,最终值为15,我退出条件为小于40,远比15大。
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:3
  • 最近打卡:2024-04-23 17:55:05

0

主题

10

回帖

64

积分

注册会员

积分
64
发表于 2024-4-22 16:15:37 | 显示全部楼层
不好意思可能我没有描述好疑问,重新梳理一下,从开机,初始化到main再到“while(1)”在这里如果检测油门大于设定门限,则执行
强制电机启动模式即进入第二个“while(1)”那么程序就在这个循环体执行,它是跳不出来。如果TM4中断了条件成立也会执行一次换相step++;返回到第二个“while(1)”循环体也会执行step++; 假设,转动油门,“PWW_Set”值是无法更新,只看到换相在“case 4: ”有读取AD值,但没看到哪里更新“PWW_Set”的值。

疑问就是第二个“while(1)”循环体怎么跳出来的。然后在去执行正常运转函数体的。没有理解第二个“while(1)”循环体

点评

我上面已经解释得很清楚了,你再仔细看看吧。 不知道你是实际测试出问题,还是只是在看程序? 你可以看看相关的视频,我的电机是真的能转起来的,转得还很好,PID控制也都很好,不骗你的。我还装在四轴飞行器测试过  详情 回复 发表于 2024-4-22 16:31
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:3
  • 最近打卡:2024-04-23 17:55:05

0

主题

10

回帖

64

积分

注册会员

积分
64
发表于 2024-4-22 16:27:23 | 显示全部楼层
我把你那个用此方法验证
第一种:“return”
void  main()
{
   while(1)
  {
    LED1=0;//点亮LED1
    if(!KEY1) return;
  }
   LED1=1;//关闭LED1  证明跳出循环体
while(1)
{
   LED2!=LED2;
   delay_MS(500);
}
}
以上试验跳不出循环体
第二种用“break”
void  main()
{
   while(1)
  {
    LED1=0;//点亮LED1
    if(!KEY1) break;
  }
   LED1=1;//关闭LED1  证明跳出循环体//成功跳出
while(1)
{
   LED2!=LED2;//成功
   delay_MS(500);
}
}
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:3
  • 最近打卡:2024-04-23 17:55:05

0

主题

10

回帖

64

积分

注册会员

积分
64
发表于 2024-4-22 16:29:33 | 显示全部楼层
用“KEY1”模拟这个“if(timer < 40)”条件成立情况
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:常住居民II
  • 打卡总天数:95
  • 最近打卡:2025-06-17 10:15:05

74

主题

6092

回帖

1万

积分

超级版主

积分
12731
发表于 2024-4-22 16:31:11 | 显示全部楼层
本帖最后由 梁工 于 2024-4-22 16:32 编辑
顾*** 发表于 2024-4-22 16:15
不好意思可能我没有描述好疑问,重新梳理一下,从开机,初始化到main再到“while(1)”在这里如果检测油门大 ...

我上面已经解释得很清楚了,你再仔细看看吧。
不知道你是实际测试电机时出问题,还是只是在看程序?
你可以看看相关的视频,我的电机是真的能转起来的,转得还很好,PID控制也都很好,不骗你的。我还装在四轴飞行器测试过,还驱动过各种水泵、风扇、螺旋桨。。。。
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:3
  • 最近打卡:2024-04-23 17:55:05

0

主题

10

回帖

64

积分

注册会员

积分
64
发表于 2024-4-22 17:33:17 | 显示全部楼层
好吧!
回复

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:1
  • 最近打卡:2024-04-26 08:37:25

0

主题

7

回帖

26

积分

新手上路

积分
26
发表于 2024-4-25 18:14:44 | 显示全部楼层
悬赏贴   QQ1352445949
梁工和各位大佬们下午好,我按照梁工大功率原理图和代码。在实测中发现电流在1.3A之前无刷电机正常运行,但是在拧电位器到1.3A后无刷电机就会出现卡顿(也还在转),电位器拧到最大时无刷电机特别卡顿,也不转了。请教各位大佬和梁工,这样的现象是什么问题造成的,可有解决办法。

点评

示波器测量一个电枢的波形贴上来。  详情 回复 发表于 2024-4-25 19:11
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:常住居民II
  • 打卡总天数:95
  • 最近打卡:2025-06-17 10:15:05

74

主题

6092

回帖

1万

积分

超级版主

积分
12731
发表于 2024-4-25 19:11:53 | 显示全部楼层
huxia*** 发表于 2024-4-25 18:14
悬赏贴   QQ1352445949
梁工和各位大佬们下午好,我按照梁工大功率原理图和代码。在实测中发现电流在1.3A之 ...

示波器测量一个电枢的波形贴上来。
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:1
  • 最近打卡:2024-04-26 08:37:25

0

主题

7

回帖

26

积分

新手上路

积分
26
发表于 2024-4-25 19:54:14 | 显示全部楼层
test*** 发表于 2024-3-10 10:46
梁工,请教一下,这个无刷电调可以支持到多高的转速。我参考您的方案,做了一款无刷电调,各方面都挺正常。 ...

你好,你的这个问题解决了吗?
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:1
  • 最近打卡:2024-04-26 08:37:25

0

主题

7

回帖

26

积分

新手上路

积分
26
发表于 2024-4-26 15:38:34 | 显示全部楼层
梁*** 发表于 2024-4-25 19:11
示波器测量一个电枢的波形贴上来。

是测UVW任意一项的波形吗?

点评

三个电枢波形差别大则都要贴一下,如果波形一样只贴一个即可。  详情 回复 发表于 2024-4-26 16:11
回复 支持 反对

使用道具 举报 送花

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

本版积分规则

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

GMT+8, 2025-6-17 15:42 , Processed in 0.126016 second(s), 103 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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