首页 > 其他分享 >大话BLDC驱动:怎么根据HALL信号换相

大话BLDC驱动:怎么根据HALL信号换相

时间:2024-05-30 13:44:39浏览次数:25  
标签:case 相位 BLDC break 信号 phase 换相 HALL

根据《大话BLDC驱动:为什么可以根据HALL信号换相?》文中内容,我们知道HALL信号实时反应了电机转子的位置,所以,针对有感BLDC,我们当然可以根据HALL信号进行换相。那么,问题来了,根据HALL信号换相的方法及其步骤是什么?
有什么细节?有什么要注意?本文就来梳理一下。

1. 有感BLDC 8线接口定义

3线驱动接口:U_V_W
5线HALL接口:3线霍尔接口:Ha_Hb_Hc,2线电源接口:5v(3.3v)_GND

2. 根据HALL信号换相的方法与步骤

步骤1,

固定电机3线HALL信号线和电机3线UVW信号线的线序。电机3线HALL信号线以任意顺序连接到驱动板的HALL接口;电机3线UVW信号线也以任意顺序连接到驱动板的UVW接口。一旦连接后,就不要再改变。即,驱动板HALL接口上的HALL信号线序和驱动板UVW接口上的UVW信号线序,存在一一对应关系。比如:HaHbHc与UVW对应,HaHbHc与WUV对应,HaHcHb与WUV对应,HaHcHb与VWU对应等等。

步骤2,

分别确定正转和反转的HALL信号的输出值及其顺序。根据《大话BLDC驱动:为什么可以根据HALL信号换相?》文中内容,一方面,可知HALL信号实时反应了电机转子的位置;另一方面,可知在60°HALL中,HALL信号的输出值为:6_4_7_3_1_0;在120°HALL中,HALL信号的输出值为:5_4_6_2_3_1。即,这一串数字分别代表了电机转子的位置。本文后续仅以120°HALL为例做说明。
因此,120°HALL在正转或者反转时,HALL信号的输出值的顺序是:5_4_6_2_3_1......或者4_5_1_3_2_6_4......

如何确定正转和反转时,HALL信号的输出值?确定方法:首先将HALL接口的2线电源接口供电,然后用手或者其他工具分别正转或者反转电机,在示波器端观察3线霍尔接口的输出并记录下数字(当然只会读到5_4_6_2_3_1_5......或者4_5_1_3_2_6_4......)。

步骤3,

确定逆变电路的导通顺序。根据《大话BLDC驱动-如何确定六步换相法两两导通的顺序?》文中的内容,可知在六步换相法中,逆变电路两两导通顺序只能是:AC_AB_CB_CA_BA_BC__AC…或者 CB_AB_AC_BC_BA_CA_CB…......。为了方便沟通,我们将AC_AB_CB_CA_BA_BC分别编号为1_2_3_4_5_6。在六步换相法中,我们又称这一串编号为电机转子的相位phase,比如相位phase1,相位phase2,相位phase3......。即,phase1导通AC,phase2导通AB,phase3导通CB,phase4导通CA,phase5导通BA,phase6导通BC。那么据此编写源码1如下:

/*-----www.zhugedz.com------*/
switch(phase)
{
	case 1:
		PWM_ON_AC;
		break;
	case 2:
		PWM_ON_AB;
		break;
	case 3:
		PWM_ON_CB;
		break;
	case 4:
		PWM_ON_CA;
		break;
	case 5:
		PWM_ON_BA;
		break;
	case 6:
		PWM_ON_BC;
		break;
	default:
		PWM_OFF;
		break;
}

步骤4,

分别确定HALL值(5_4_6_2_3_1和4_5_1_3_2_6)与相位值(1_2_3_4_5_6)的对应关系。即,要解决读取到HALL某个值时,导通相位几的问题。

那么怎么确定HALL值和相位值的对应关系呢?

方法1:电机厂家会给出hall表的驱动图

方法2:排除法。

首先固定HALL值的顺序(5_4_6_2_3_1),然后分别用相位值(phase1_phase2_phase3_phase4_phase5_phase6)、(phase2_3_4_5_6_1)、(phase3_4_5_6_1_2)、(phase4_5_6_1_2_3)、(phase5_6_1_2_3_4)、( phase6_1_2_3_4_5)分别做测试。编写测试源码2如下:

/*-----www.zhugedz.com------*/
switch(HALL)
        {
			case 5:
                phase = 1;
                break;
            case 4:
                phase = 2;
                break;
            case 6:
                phase = 3;
                break;
            case 2:
                phase = 4;
                break;
            case 3:
                phase = 5;
                break;
            case 1:
                phase = 6;
                break;
            
            default:
                phase = 0;
                break;
        }
		

以上测试结果会有两种。第一种,6次中有1次是正确的(通过观察电机运行状态,或者观察端电压和相电流的关系);
第二种,6次都错误。那么分别改用相位值(phase3_phase2_phase1_phase6_phase5_phase4)、( phase2_1_6_5_4_3)、( phase1_6_5_4_3_1),(phase6_5_4_3_2_1)、(phase5_4_3_2_1_6)、(phase4_3_2_1_6_5)、再测试一遍,一定可以找到一组正确的相位值。记录下HALL值对应的相位值,比如,HALL值(4_6_2_3_1_5)对应相位值(phase3_4_5_6_1_2)。

然后,再固定HALL值的顺序(4_5_1_3_2_6),按上面的方法再进行测试。比如,测试结果为HALL值(4_5_1_3_2_6)对应相位值(pashe6_5_4_3_2_1)。这样便找到了HALL值和相位值分别在正反转情况下的对应关系。测试完毕后,编写源码3如下:

/*-----www.zhugedz.com------*/
if(dir == CCW)   
  {
	switch(HALL)
	{
		case 4:
			phase = 3;
			break;
		case 6:
			phase = 4;
			break;
		case 2:
			phase = 5;
			break;
		case 3:
			phase = 6;
			break;
		case 1:
			phase = 1;
			break;
		case 5:
			phase = 2;
			break;
		default:
			phase = 0;
			break;
	}
 }
     else
     {
        switch(HALL)
        {
            case 4:
                phase = 6;
                break;
            case 5:
                phase = 5;
                break;
            case 1:
                phase = 4;
                break;
            case 3:
                phase = 3;
                break;
            case 2:
                phase = 2;
                break;
            case 6:
                phase = 1;
                break;
            default:
                phase = 0;
                break;
        }
      }

可见,源码3和源码1便将HALL值和相位值一一对应起来了,并实现了正确的逆变电路的开关控制。此刻,如给适当大小PWM的占空比,你的电机就转起来了。

方法3:观察法。

使用工具带动电机分别做正反转动,在示波器端观察HALL值和UVW端电压的相位关系。会很容得到HALL值和相位值的对应关系。

标签:case,相位,BLDC,break,信号,phase,换相,HALL
From: https://www.cnblogs.com/zhugedz/p/18222174

相关文章

  • OWASP-Hackademic-Challenges
    1.靶场安装靶场下载:https://code.google.com/archive/p/owasp-hackademic-challenges/downloads在phpstudy中搭建即可访问页面:2.OWASPHackademicChallenge–Challenge12.1.解题点击链接,进入靶场页面上没有什么有用的消息,查看页面源代码(Ctrl+U)可以找到不同显示页......
  • openGauss cursor-fetchall
    cursor.fetchall()功能描述此方法获取查询结果的所有(剩余)行,并将它们作为元组列表返回。原型cursor.fetchall()参数无。返回值元组列表,为结果集的所有结果。空行时则返回空列表。示例请参见示例:常用操作。详情查看:https://opengauss.org详情查看:https://docs-opengaus......
  • 《安富莱嵌入式周报》第336期:开源计算器,交流欧姆表,高性能开源BLDC控制器,Matlab2024a,操
    周报汇总地址:http://www.armbbs.cn/forum.php?mod=forumdisplay&fid=12&filter=typeid&typeid=104 本周更新一期视频教程:BSP视频教程第30期:UDSISO14229统一诊断服务CAN总线专题,常用诊断执行流程精讲,干货分享,图文并茂https://www.armbbs.cn/forum.php?mod=viewthread&tid=12......
  • BLDC 电机和 PMSM 的结构区别
    BLDC电机和PMSM的结构类似,其永磁体均置于转子,并被定义为同步电机。在同步电机中,转子与定子磁场同步,即转子的旋转速度与定子磁场相同。它们的主要区别在于其反电动势(反EMF)的形状。电机在旋转时充当发电机。也就是说,定子中产生感应电压,与电机的驱动电压反向。反电动势是电机的......
  • 新手大白话 [HNCTF 2022 Week1]Challenge__rce RCE自增绕过
    今天遇到个RCE难题,挺另类的,这里做个复盘。进入题目直接给出了源码,可以发现就是个无字母RCE,且有长度限制不能使用url取反绕过,到这想到了以前的一个rce自增绕过方式,但是以前的没有长度限制。点击查看代码<?phperror_reporting(0);if(isset($_GET['hint'])){highlight_f......
  • 读论文-基于序列_会话的推荐_挑战,方法,应用和机遇(Sequential_Session-based Recommend
    前言今天读的论文为一篇于2022年7月7日发表在第45届国际ACM信息检索研究与发展会议论文集(Proceedingsofthe45thInternationalACMSIGIRConferenceonResearchandDevelopmentinInformationRetrieval.)的论文,文章主要讲述了序列推荐系统(SRSs)和基于会话的推荐系统(SBRSs......
  • 读论文-新闻推荐系统:近期进展、挑战与机遇的评述(News recommender system_ a review
    前言今天读的论文为一篇于2022年发表在"人工智能评论"(ArtificialIntelligenceReview)的论文,文章主要强调了NRS面临的主要挑战,并从现有技术中确定了可能的解决方案。引用这篇论文:[1]Raza,Shaina,andChenDing."Newsrecommendersystem:areviewofrecentprogress,c......
  • 阿里云域名使用ssl域名证书自动续期工具acme.sh报错Error add txt for domain:_acme-c
    现象:说明·acmesh-official/acme.shWiki·GitHub根据中文说明,第二步,第二种dns方法,执行生成证书时报此错,根据报错信息可知,是添加txtdns解析记录时出错原因:权限不足,阿里云为了提高安全性不建议直接使用主账号创建 AccessKey(因为默认权限过大),建议使用RAM用户(可以理......
  • 【Vue3】readonly和shallowReadonly
    readonly()​接受一个对象(不论是响应式还是普通的)或是一个ref,返回一个原值的只读代理。类型functionreadonly<Textendsobject>(target:T):DeepReadonly<UnwrapNestedRefs<T>>只读代理是深层的:对任何嵌套属性的访问都将是只读的。它的ref解包行为与r......
  • Php_Code_challenge15
     题目:答案: 解析:对'..'进行限制禁止我们包含其他目录下的内容,也就不能对服务器日志及SESSION进行利用,我们对分析代码分析出题人贴心的给我们输出了上传后的文件名及路径,并且利用file_put_contents和file_get_contents进行文件的写入,这是很危险的输出上传文件名加上file_p......