打印

怎么判断三相直流无刷电机是正转还是反转

[复制链接]
7519|5
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
wangwenzhao|  楼主 | 2013-5-28 10:10 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
现在有一台直流无刷电机,三条霍尔信号线接在单片机的PORTB0-2口,我现在就是想用这三个I/O口检测电机是在正转状态还是反转状态,正转时三个霍尔的电平顺序依次是100,110, 010, 011, 001, 101,反转时三个霍尔的电平当然就是反过来了,电平顺序依次是101,001,011, 010, 110, 100,程序里要怎么叛断,才能分出电机是正转还是反转,有没有哪位高手提供一个思路给我,最好有例子
沙发
触觉的爱| | 2013-5-28 10:13 | 只看该作者
自己不是写出来了吗

使用特权

评论回复
板凳
wangwenzhao|  楼主 | 2013-5-28 11:50 | 只看该作者
触觉的爱 发表于 2013-5-28 10:13
自己不是写出来了吗

我是说程序里面怎么判断,电机运行时的状态,是处在正转还是反转?,程序怎么实现

使用特权

评论回复
地板
触觉的爱| | 2013-5-29 10:35 | 只看该作者
霍尔电平的正反转顺序表自己不是已经整理出来了,难道就没对比一下区别吗?

做个变量记录上次的状态,然后与当前的状态相比较。符合正转的顺序表,就是正转; 符合反转的顺序表,就是反转

虽然没用编程芯片做过无刷的驱动,但这样处理应该是可行的

使用特权

评论回复
5
wangwenzhao|  楼主 | 2013-5-29 15:14 | 只看该作者
触觉的爱 发表于 2013-5-29 10:35
霍尔电平的正反转顺序表自己不是已经整理出来了,难道就没对比一下区别吗?

做个变量记录上次的状态,然后 ...

能不能帮我写个简单的例子?那样好理解一点.跪求....

使用特权

评论回复
6
kenan6615| | 2013-6-7 11:57 | 只看该作者
我想了个这么个方法   
        //Hall:此次捕获的霍尔值
        //LastHall上次捕获的霍尔值
HallSerial[]={100,110, 010, 011, 001, 101}
   i = 0;
        while(i<6)
        {
                if(HallSerial[i] == LastHall)
                        break;
                i++;
        }
        if(i == 6)
        {
                ;//霍尔传感器错误
                return(0);
        }
        if(i == 5)
        {
                if(Hall == HallSerial[0])
                        正转
                else if(Hall == HallSerial[4])
                        反转
                else
                {
                        //霍尔传感器错误,或错过某些霍尔值
                       
                }
        }
        if(i == 0)
        {
                if(Hall == HallSerial[1])
                        正转
                else if(Hall == HallSerial[5])
                        反转
                else
                {
                        /霍尔传感器错误或错过某些霍尔值
                       
                }
        }
        else
        {
                if(Hall == HallSerial[i+1])
                        正转
                else if(Hall == HallSerial[i-1])
                        反转
                else
                {
                        //霍尔传感器错误或错过某些霍尔值
                       
                }
        }

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

8

主题

35

帖子

0

粉丝