一眨眼 离申请开发板都一个月了,工作忙点,一直没时间写第二篇, 前天电机和mmlink也到了,今天抽空写下带霍尔的入门。 由于没做过BLDC开发,仅仅看过不少这方面的介绍,所以决定找个例程移植下带传感器的BLDC控制,作为自己的入门。 无刷直流电机是现在最常用的无刷电机 。 它具有低损耗 、 低噪声 、 结构简单 、 易控制 、 转速高 、 寿命长等特点 , 因此 , 被广泛应用于现代工业控制等领域 ,其中又分带霍尔和不带霍尔的, 方波控制和正玄波控制, 方波控制最简单,加上霍尔传感器,基本上就是绝大多数电动车的方案了。 方波控制采用6步法, 所谓6步 即 3个桥臂的6种状态,每个桥臂的高低输出用0或者1来表示, 那么3个桥臂就是 2的3次方 =8, 由于 000 和 111 是无效的输出,那么就剩下6种状态了,这个有点类似步进电机,也有点像 移位操作, 但1个0的个数在交替,可以想象成1在移位,但是1会伸展成2个,然后又收缩成1个,这让我又想起了毛毛虫,^_^, 假设初始时 100,那么就是第一相流向第二和第三相, 右向运动,就是110,1向右伸展,然后下一个是 010,1又收缩至2号,next 011, 伸展, next 001,收缩, next 101, 循环伸展至1号, next ,1收缩,回到最初位置,100,这样循环移位式 变换,让定子磁场以60度跳跃式 旋转,从而带动转子旋转, 这里可以看出转矩应该是脉动的,所以应用有些局限,所谓玄波控制, 我认为就是把位置估计到更细的位置角度上, 并让100这样的 2 3相 pwm调制成任意比例, 这样有了更小的角度波动, 更小的转矩脉动, 说到这又想起了 步进电机细分, 跟这颇为相似。 在方波控制里,主要是对两个量进行控制,一个是电机转子位置对应的开管状态,有Hall时,通过Hall信息获取转子位置,无传感器时,通过反电动势信息获取转子位置,从而决定开管状态;第二个是PWM占空比的控制,通过控制占空比的大小来控制电流大小,从而控制转矩和转速。 控制步骤 1 读取母线 采样电阻的 ADC,计算总体电流; 2、电流 pid 环 计算应该给的PWM 占空比,以准确控制电流 3、 读取hall 状态,通过查表 确定每一相是 高还是 低, 及 100这样的组合 4、 Hall 相邻状态间的扇区为一个电周期的六分之一,即为60°, 通过定时器记录换向间隔时间,配合 电机极数,即可计算速度,如果用玄波控制,根据这个时间可以更精确的估计位置,实现正弦波控制 5. 以电流环作为内环,速度环作为外环,电机进行闭环控制。 夜深了, 下次修改添加代码。