这是自己琢磨的关于BLDC电机控制,霍尔相序自学习的解决方案,希望对需要的坛友们有所帮助,同时也希望大家提出方案的不足之处,讨论该方案的可行性。加以改进优化,因为毕竟没有实际验证过。 最后预祝各位2019新年快乐,工作顺利,万事如意。
一、符号定义 电机霍尔反馈接口:HU、HV、HW 控制器霍尔接口:HU’、HV’、HW' 电机绕组线:U、V、W 控制器绕组接口:U’、V’、W’ 二、理论分析 分别建立两个HALL时序表格,一个为真值表(该表唯一且确定),表示的是电机正常接线工作的时序表;一个为映射表,表示的是接线为非标准接线顺序时对应的驱动表。通过自学习阶段的电机强制拖动过程,完成一个电周期的逐相旋转,可以建立映射表和真值表之间的对应关系,之后就可以根据实际的HALL反馈值,首先查映射表信息,根据映射关系,间接得到真值表信息,实现通过唯一的真值表驱动电机工作。 不同的接线方式学习完得到的映射表也会不同,但是理论的真值表有且只有一个。学习过程实际上是学习映射表和真值表的对应关系。 三、步骤描述 1. 进入学习模式 2. 依照真值表,直接给电机三相绕组施加可设定的电压,强制拖动电机逐相旋转,每相等待一定时间,确保转子位置稳定后读取霍尔反馈值,并记录。 3. 若是施加电压过小电机没有动作(霍尔反馈不变),则适当增大PWM占空比,重复步骤2。直至PWM超过设定阈值,报学习错误。 4. 按照步骤2,强制拖动一个电周期。记录完整的映射表。 5. 通过两个表的索引Index值,关联两个个时序表,建立对应关系。 6. 完成学习过程,退出学习模式。
|