深入学习单片机和无刷电机的笔记

单片机和无刷电机学习笔记

  • 电机控制中要搞清楚的概念
  • 一、单电阻和三电阻
  • 1。电流采样方式的对比
  • 2。采样关键
  • 3。采样点
  • 二、霍尔传感器及驱动序列推导
  • 用磁传感器代替hall传感器
  • 总结

  • 单片机主要使用stm32,是学习的一个记录而已.


    电机控制中要搞清楚的概念

    目前主要是单电阻/双电阻/三电阻采样的优劣点,及使用注意事项;霍尔传感器六状态及MOS驱动顺序的推导过程;怎样用磁传感器模拟霍尔传感器,得出六状态。

    一、单电阻和三电阻

    主要参考FOC 电流采样方案对比

    1。电流采样方式的对比

    电流采样 成本 算法
    单电阻 复杂
    双电阻 适中 适中
    三电阻

    2。采样关键

    需要在高端关闭,低端打开时进行采样。这是采样点。因为采样还需要时间,因此需要一个采样窗口,在此窗口内,低端不能关闭。单电阻,双电阻采样的pwm因为因保留采样窗口,因此不能达到100%.而三电流采样则可以采样存有采样窗口的两相,重构第三相(Ia+Ib+Ic=0)。因此不存在采样窗口,所以PWM可以达到100%.
    窗口采样时间 Tp=Tdead + Ton + Tsample + Max(Tring ,TtrigDelay)

    3。采样点

  • 三电阻采样:
    以ST单片机举例,timer的channel1,2,3作为通道的输出,channel4作为采样点的触发。chaanel四为中心点pwm的中心点。

  • 双电阻采样:
    需要为adc采样留下足够的采样时间,所以pwm不能100%

  • 单电阻采样:
    在一个pwmm周期中进行了两次采样,每次采样都是不同相的电流。

    相位和相电流的对应关系如下图:

  • 开关状态 AH BH CH 电流
    0 0 0 0 0
    1 1 0 0 IA
    2 1 1 0 -IC
    3 0 1 0 IB
    4 0 1 1 -IA
    5 0 0 1 IC
    6 1 0 1 -IB
    7 1 1 1 0

    采样点的计算如下图:


    即第一点:pwm产生的三个channel时间中,当mid-min>Tdead+Tring+Tsample时,采样点为(min+mx+Tdead)/2,
    小于时,则mid-TringDelay-Tsample
    第二点:当max-mid>Tdead+Tring+Tsample时,采样点为(max+mid+Tdead)/2,小于时,则为(max-Tringdelay-Tsample).

    二、霍尔传感器及驱动序列推导

    参考生成用于无刷直流 (BLDC) 电机的六步换相的开关序列(https://ww2.mathworks.cn/help/mcb/ref/sixstepcommutation.html)


    图中,Hall a处检测出转子位置为4(1,0,0),即转子的N端正对着Hall a.
    Hall a,b,c逆时针120度摆放。这样随着转子转动一圏,会产生六个状态,即将一圏分成六个相限。
    如上图所示,A相线圈与hall a对齐,B相与hall b对齐,C相对齐hall c.转子当处于状态4(1,0,0)时,若需转动,则需要产生与转子垂直的力矩。
    在状态4时,B,C相导通时,产生的磁场即与转子垂直。B->C或C->B,则转子是不同的转向。
    如下图,从状态4开始逆时针旋转。

    状态 AA’ BB’ CC’相
    4(100) 00 10 01
    6(110) 01 10
    2(010) 01 10
    3(011) 01 10
    1(001) 10 01
    5(101) 10 01

    这里面还有一个旋转方向的问题,需仔细琢磨。若反向旋转,则导通关系颠倒一下即可。
    这里所的推倒基于hall与线圈对齐,事实上hall与绕圈经常相差30度或60度。

    用磁传感器代替hall传感器

    hall传感器的作用是判断转子的位置。转子转一圈,位形成六个转子位置状态,在每个位置新形成时,我们需要使定子产生的磁场与转子垂直。转动方向确定后,在每亩个位置状态,MOS管的导通方向都是确定的。而且我们知道每个状态后面的一个状态是什么,因此我们虽然是根据hall状态数进行mos管的驱动,其实是内部将hall的状态进行了编码。如上表所示,即逆时针转的改变顺序是:100->110->010->011->001->101->100,则若用此传感器,则状态的表示则是角度,即:
    0(110)–> 60(110)->120(010) ->180(011)->240(001)-300(101)->0(100).
    要注意的是,初次使用时,磁感器需要进行校准,即获取安装时的位置信息,校准方法如下:

  • 根据上表,在300(101)时,A->C,则我们直驱动MOS A->C
  • 延迟后,使转子转动直至转子静上,则此时转子的方向与定子的向一致了,我们定此时的角度为0
  • 记下此时传感器的读数为偏移值,今后角度值=读取值-偏移值。
  • 总结

    根据板子的硬件设计,确定六个状态的MOS管驱动方法,是第一步。

    作者:ashang2002

    物联沃分享整理
    物联沃-IOTWORD物联网 » 深入学习单片机和无刷电机的笔记

    发表回复