电机控制
直播中

oneperson

11年用户 164经验值
擅长:可编程逻辑 嵌入式技术 存储技术 处理器/DSP 控制/MCU EDA/IC设计 RF/无线
私信 关注

【FU6832L开发板免费试用】BLDC无感FOC控制实例简介+筋膜枪驱动

1

本帖最后由 oneperson 于 2021-9-6 00:38 编辑

筋膜枪是什么?
筋膜枪通过高频次振动(2000-3200次/min)将力和震动传送到人体的筋膜,从而起到增加组织血流量、放松肌肉的功效,并可通过共振使人体组织产生相对位移,减轻组织粘连,恢复肌肉和筋膜的弹性,使紧张僵硬的筋膜得到放松,可以缓解人体的一些不适症状。
其实这种设备是从国外健身领域发展开来的,现在国内做这个厂商也很多,某宝某东一大堆。但是真正做的好的体验的很少,最重要的是里面的电机,还有控制算法,机械构造等。
src.gif

这里附上一块公版驱动PCBA图片
3.png

猜测其由一个通用MCU+无刷电机驱动专用IC+3颗双MOS+一颗升压DC给电池充电组成。(芯片丝印均打磨)
而当前开发板的芯片FU6832直接一颗即可替代,简化成本,且芯片通用性强,同类产品直接替换简单,能提高研发效率,缩短产品研发周期。
芯片可选SSOP20和QFN24等小封装,对小型化产品也很友好。
4.png

回归正题:
FOC是什么?
FOC: Field Oriented Control磁场定向控制

什么又是磁场定向控制,这得分析三相无刷电机是怎么运转的:


这里图片(转子别的大神图片,点我跳转看原文),解释的很简单明了。
6个状态分别对应MOS上下管打开的电流情况(还有两个状态是全0和全1),这时其绕组磁场就可以确定。
图中橘黄色的箭头方向和电磁铁形成的磁场方向一致:
0.png
对应的每个状态力矩角度即可提取如下:
(0,0,0) A下管打开,B下管打开,C下管打开,对应下图中的中心点
(0,0,1) A下管打开,B下管打开,C上管打开,对应下图中的60°
(0,1,0) A下管打开,B上管打开,C下管打开,对应下图中的300°
(0,1,1) A下管打开,B上管打开,C上管打开,对应下图中的0°
(1,0,0) A上管打开,B下管打开,C下管打开,对应下图中的180°
(1,0,1) A上管打开,B下管打开,C上管打开,对应下图中的120°
(1,1,0) A上管打开,B上管打开,C下管打开,对应下图中的240°
(1,1,1) A上管打开,B上管打开,C上管打开,对应下图中的中心点
1.png

通电的顺序按照,4,3,2,1,6,5,4这样动起来再看?是不是就出现了转动矢量。
所以这里的FOC即可以理解为:
电压->电流->磁场,最终变为用6个MOS的通断来控制电机内部磁场的方向变化。

但是怎么只有几个固定角度的?任意角度可以吗?
答案是可以的:
即SVPWM
1.用6个非零的矢量的相邻的两个矢量来控制合成矢量的方向,
2.用零矢量来调整合成矢量的幅值

不急,再看看这几个状态,引入简单的公式:
22.png 33.png 34.png
仔细看看,其实这就变为数学运算,各个状态的导通时间进行“力的分解”,即图中的电压分解,就可以得到任意角度的空间电压矢量。如果你的MOS开管速度和控制器速跟得上,则细分的越多角速度就越平滑。

那么如何去检测实时的相位,确保我的控制是有效?

6.png
这里引入位置估算,再按如下估计即可得出当前位置。
7.png

原理貌似了解的差不多了,接着看看当前开发板代码实际情况:
(当前例程已是基于FOC,只需要针对筋膜枪硬件修改部分参数,添加按键支持。)

10.png 11.png
实际测试能够运转起来,按键作为筋膜枪的档位切换开关,1-3档速度。

但实际对比,运行速度不够快,功耗反而还更高,调整别的参数问题暂未得到收敛。
实际最难调的也即是针对电机参数和使用场景来调整各项参数,当前给予筋膜枪的驱动调试初步已经完成,后续待其他问题进行深入研究优化。

2

  • 2.png

更多回帖

发帖
×
20
完善资料,
赚取积分