本博客为个人理解笔记,可能存在理解错误,请合理判断
参考1(DRV8301/8302三相无刷电机驱动全解):https://www.bilibili.com/read/cv17966607/
参考2(开源项目):https://oshwhub.com/Knight_Sin/abcd
一、FOC与BLDC电机
-
BLDC是指无刷直流电机,其相比于有刷具有更高的寿命、更低的声音、更高的转速和更高效的控制。
-
BLDC电机目前已经高端的电器(如直流风扇、洗衣机、空调),机器人(机器人关节)等方面都具有应用,随着控制技术的提升和相关的应用需求,BLDC将会应用越来越广泛,具有高的学习价值。
-
BLDC电机分类:内转子和外转子。
-
BLDC电机控制思路:通过开关3对NMOS的开关,循环导通后,控制对应线圈产生磁场,吸引转子进行旋转。通过PWM控制NMOS导通关闭的占空比,即可高效控制场的大小和方向,即后面的FOC技术。
-
FOC是指场方向控制技术,在上述BLDC电机控制过程中,当线圈产生的磁场方向正好与转子差别90°,能够产生最大的拉力而不浪费。
二、FOC控制优势
- 高效:FOC控制的场方向,可以始终保持在与转子的方向差90°,使得效率最高。
- 可控:FOC控制的场大小,更改控制力度,从而有效控制旋转力矩不失步。
- 双向:FOC可以任意控制电机转动方向。
三、DRV8301控制
- DRV8301是一个三相电机控制芯片,内部集成了buck降压稳压电路、PWM控制放大电路、电流检测放大电路。
- 电路上,首先是BUCK降压稳压电路,选择合适的电阻组成comp电路,即可生成适合的12V、5V电压,这里不需要额外的控制引脚。
- 电路上,其次是PWM控制放大电路,输入的是6路PWM输入,输出是6路PWM输出控制NMOS。为什么要过DRV8301的原因是因为单片机的PWM电压只有3.3V-5V,对于大功率NMOS来说不够,手册上一般会标注10V的VGS电压,通过DRV8301进行放大。
- 电路上,最后是电流放大检测电路,输入的是从NMOS低端电阻采集的电流,通过内部的放大电路进行放大,输出两路电流检测信号给单片机。
- 因此,DRV8301的引脚主要包括:PWM输入输出引脚、电流检测输入输出引脚、SPI配置引脚、BUCK电路。
四、STM32引脚连接
- 从上述提到的,连接DRV8301的主要就三类引脚:PWM控制引脚、电流检测引脚、SPI配置引脚。
- 除此之外,还有检测电机方向的磁感应接口引脚:ABZ检测引脚
- 另外,保证安全还有温控电阻检测引脚
五、额外思考
- 上述控制中,由于采用了低端电阻采样,因此ADC测量的时机特别重要,需要在PWM控制对应NMOS开启的间隙中进行测量,为此,一般来说需要同步PWM和ADC采样。这里的DRV8301是否针对同步进行了特别处理,毕竟这一部分确实也可以在这里面进行。
- 另外,PWM控制NMOS开关需要考虑到NMOS的开关曲线,并不是PWM为高就开启的、为底就关闭的。因此,仅在理想控制情况下,可能会导致同一对的NMOS同时打开,稍微长一点时间,就可能导致NMOS发热烧毁。这部分的控制是否也是在DRV8301中进行还是STM32控制,需要进行判别。