单片机主要使用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管驱动方法,是第一步。