打印

[技术问答] 无刷直流电机反电动势三步法,为什么换相超过80000次,要...

[复制链接]
150|10
跳转到指定楼层
楼主
本帖最后由 adandan 于 2019-6-17 21:12 编辑

  case 3:
            if (MotorA.FlagBEMF == 0)      //未检测到过零事件    MotorA.FlagBEMF 过零事件标志
            {
              if (MotorA.PWMTicks >= 4)//消磁
                      {           
                if ( BEMF()) //判断是否过零点
                {               
                  MotorA.FlagSwitchStep = MotorA.PWMTicksPre >> 4;   //延迟30电角度 PWMTicksPre记录的是上一步的时间
                  MotorA.FlagBEMF = 1;             //检测到过零事件,不再检测                     
                 }
              }
            }
            else
            {
                if (MotorA.FlagSwitchStep == 0)      //延迟时刻到
                {               
                    BLDC_SwitchStep();               //换向
                    BEMF_Cnt++;    //换向计数加1            
                }
                else
                {
                    MotorA.FlagSwitchStep--;   //延时时刻未到,自减
                }

            }

            if (BEMF_Cnt >= 800000)       //800000次换向之后,停止
            {   
                MotorA.State++; //状态加1                           
                BEMF_Cnt = 0; //换向计数清零
            }        
            break;
        case 4:
            BLDC_Stop();
            break;

使用特权

评论回复
沙发
| 2019-6-18 08:58 | 只看该作者
要干啥,看不到标题。

使用特权

评论回复
板凳
| 2019-6-18 08:58 | 只看该作者
标题放正文里,

使用特权

评论回复
地板
| 2019-6-20 16:09 | 只看该作者
旁观者,不解不解!!!

使用特权

评论回复
5
| 2019-6-20 20:07 | 只看该作者
为何8万次。。。

使用特权

评论回复
6
| 2019-6-20 20:07 | 只看该作者
看错了,是八十万次,是啥 ??不懂楼主是啥目的。

使用特权

评论回复
7
| 2019-6-20 23:47 | 只看该作者
为什么,?因为你程序这么写的

使用特权

评论回复
8
| 2019-6-20 23:47 | 只看该作者
换向后要干啥用?

使用特权

评论回复
9
| 2019-6-20 23:47 | 只看该作者
另外你的标题中问题后面没了。

使用特权

评论回复
10
| 2019-6-22 23:33 | 只看该作者
然后干啥?

使用特权

评论回复
11
| 2019-6-24 23:35 | 只看该作者
这是跟啥有关

使用特权

评论回复
扫描二维码,随时随地手机跟帖
您需要登录后才可以回帖 登录 | 注册

本版积分规则

我要发帖 投诉建议 创建版块 申请版主

快速回复

您需要登录后才可以回帖
登录 | 注册
高级模式

论坛热帖

在线客服 快速回复 返回顶部 返回列表
全民彩票