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

BLDC, 三相无刷直流电机驱动-STC8/STC32-无HALL, 12万转, 视频讲解

 火.. [复制链接]

该用户从未签到

46

主题

2934

回帖

6617

积分

超级版主

积分
6617
 楼主| 发表于 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大。
回复 支持 反对 送花

使用道具 举报

  • TA的每日心情
    奋斗
    2024-4-23 17:55
  • 签到天数: 3 天

    [LV.2]偶尔看看I

    0

    主题

    10

    回帖

    56

    积分

    注册会员

    积分
    56
    发表于 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
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    奋斗
    2024-4-23 17:55
  • 签到天数: 3 天

    [LV.2]偶尔看看I

    0

    主题

    10

    回帖

    56

    积分

    注册会员

    积分
    56
    发表于 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);
    }
    }
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    奋斗
    2024-4-23 17:55
  • 签到天数: 3 天

    [LV.2]偶尔看看I

    0

    主题

    10

    回帖

    56

    积分

    注册会员

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

    使用道具 举报

    该用户从未签到

    46

    主题

    2934

    回帖

    6617

    积分

    超级版主

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

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

    使用道具 举报

  • TA的每日心情
    奋斗
    2024-4-23 17:55
  • 签到天数: 3 天

    [LV.2]偶尔看看I

    0

    主题

    10

    回帖

    56

    积分

    注册会员

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

    使用道具 举报

  • TA的每日心情
    郁闷
    2024-4-26 08:37
  • 签到天数: 1 天

    [LV.1]初来乍到

    0

    主题

    7

    回帖

    26

    积分

    新手上路

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

    点评

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

    使用道具 举报

    该用户从未签到

    46

    主题

    2934

    回帖

    6617

    积分

    超级版主

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

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

    使用道具 举报

  • TA的每日心情
    郁闷
    2024-4-26 08:37
  • 签到天数: 1 天

    [LV.1]初来乍到

    0

    主题

    7

    回帖

    26

    积分

    新手上路

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

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

    使用道具 举报

  • TA的每日心情
    奋斗
    3 天前
  • 签到天数: 83 天

    [LV.6]常住居民II

    8

    主题

    101

    回帖

    638

    积分

    高级会员

    积分
    638
    发表于 2024-4-26 14:23:14 | 显示全部楼层

    忘记gnd了,我笑了,
    回复 支持 反对 送花

    使用道具 举报

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

    本版积分规则

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

    GMT+8, 2024-5-5 03:30 , Processed in 0.067617 second(s), 65 queries .

    Powered by Discuz! X3.5

    © 2001-2024 Discuz! Team.

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