梁工 发表于 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大。

顾红军 发表于 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)”循环体

顾红军 发表于 2024-4-22 16:27:23

我把你那个用此方法验证
第一种:“return”
voidmain()
{
   while(1)
{
    LED1=0;//点亮LED1
    if(!KEY1) return;
}
   LED1=1;//关闭LED1证明跳出循环体
while(1)
{
   LED2!=LED2;
   delay_MS(500);
}
}
以上试验跳不出循环体
第二种用“break”
voidmain()
{
   while(1)
{
    LED1=0;//点亮LED1
    if(!KEY1) break;
}
   LED1=1;//关闭LED1证明跳出循环体//成功跳出
while(1)
{
   LED2!=LED2;//成功
   delay_MS(500);
}
}

顾红军 发表于 2024-4-22 16:29:33

用“KEY1”模拟这个“if(timer < 40)”条件成立情况

梁工 发表于 2024-4-22 16:31:11

本帖最后由 梁工 于 2024-4-22 16:32 编辑

顾红军 发表于 2024-4-22 16:15
不好意思可能我没有描述好疑问,重新梳理一下,从开机,初始化到main再到“while(1)”在这里如果检测油门大 ...
我上面已经解释得很清楚了,你再仔细看看吧。
不知道你是实际测试电机时出问题,还是只是在看程序?
你可以看看相关的视频,我的电机是真的能转起来的,转得还很好,PID控制也都很好,不骗你的。我还装在四轴飞行器测试过,还驱动过各种水泵、风扇、螺旋桨。。。。

顾红军 发表于 2024-4-22 17:33:17

好吧!

huxiaoxin 发表于 2024-4-25 18:14:44

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

梁工 发表于 2024-4-25 19:11:53

huxiaoxin 发表于 2024-4-25 18:14
悬赏贴   QQ1352445949
梁工和各位大佬们下午好,我按照梁工大功率原理图和代码。在实测中发现电流在1.3A之 ...

示波器测量一个电枢的波形贴上来。

huxiaoxin 发表于 2024-4-25 19:54:14

test_tmp 发表于 2024-3-10 10:46
梁工,请教一下,这个无刷电调可以支持到多高的转速。我参考您的方案,做了一款无刷电调,各方面都挺正常。 ...

你好,你的这个问题解决了吗?

huxiaoxin 发表于 2024-4-26 15:38:34

梁工 发表于 2024-4-25 19:11
示波器测量一个电枢的波形贴上来。

是测UVW任意一项的波形吗?
页: 15 16 17 18 19 20 21 22 23 24 [25] 26 27 28 29 30 31 32 33 34
查看完整版本: BLDC三相无刷直流电机驱动-8H系列/32G系列-无HALL, 12万转, 视频讲解,改进启动算法