本帖最后由 cirio2009 于 2020-7-31 17:24 编辑
其实你想复杂了.
现实中HALL的ABC你经常并不知道谁是A谁是B谁是C... 你根本无法计算.
因为线路图是100%能确定UVW的(甭管电机的三根线,实际上你可能也和HALL一样不知道UVW顺序...)
很简单的物理原理,就是不同的线圈电流流向,定子的线圈会产生不同的磁极性, 相斥或者相吸,转动的幅度不同,方向不同,实测下就观测结果就行了.
读取HALL的3个IO的值, 假设是1的位置,然后每次从1开始 给UV UW VU VW WU WV 通电6次.
那么转子会从1转到 6个不同位置锁死,3个正3个反...
转动角度最大的(HALL IO数据会变2次)就是正确的驱动相位,一个是正一个是反...
基本上填写一个6*6的表格,也就是测试36次(其实不用36次,很多重复的不用测.很容易就找到规律),就能得出正传和反转的相位表.
这样可以针对任意接线不明的电机.
一般120度HALL安装的HALL信号返回的是正转513264(实际上可能接线顺序问题是反的546231) .
你读取HALL的返回值假设是5,那么你6个相位通电,有1个相位会停在3,这个就是正转的正确相位,有一个会停在6,这个就是反转的正确相位.
一次搞定13264的正反相位,填个正转表和反转表就行了.
更正下:其实测试6次就够了, 因为施加同一个相位,电机会锁死在一个固定的HALL位置. 然后根据绕一圈的HALL表格按顺时针或者逆时针的顺序填写相位就行了.
例如我手上的电机,不论你在123456那个HALL位置,施加UH_VL的相位电压,电机会固定停在HALL数据4的位置...
表格就是按HALL顺序填写转到下1个位置的相位,填6个就是正转表.下面是315462 3的时候就施加返回1的相位,1的时候施加5,5的时候施加返回4的...
|
还有一个问题就是,比如说检测到当前的相位是1,顺时针513264,我是不是要给一个驱动到3的控制,还是给你一个驱动到2的控制?
去测试了一下,确实6次就能测出来,每个电机一个相位都是固定的一个导通方式,谢谢了
顺时针和逆时针的一样么?6步测那个方法?
谢谢,受教了,好方法。因为最近要做BLDC的驱动,还没有实际接触,经验不够。