前言
记录一下驱动直流无刷电机走过的坑。我是和是室友一起在玩FOC,电路方面也是借鉴了他的。我俩共同的一个心得就是,电路这个东西直接抄要么你就要原封不动的复刻下来,要么你就要搞懂电路中的每个电阻电容都起到什么作用,然后在这个基础上改!!! 不然 ,弯路必然是少不了的。
硬件电路整体展示
主控部分
主控部分用的STM32F103C8T6,本来想用C6T6的,但是它不支持CAN通信,想到之后要做小车,还是带一个总线靠谱一点。我没有画晶振,用的内部晶振。值得注意的地方就是用于驱动半桥的PWM我这里其实是有问题的,因为STM32F103C8T6定时器1的通道4是不在ADC的触发事件里面的,因此是没办法进行准确的电流采样的或者说会影响一部分性能。所以需要修改。这是第一个坑!!!切记,定时器的四个PWM通道中一定要有一个用于出发ADC采样,其他三个用于输出控制半桥的PWM。I2C是用于读取AS5600的,测试了一下在I2C高速模式下,AS5600的速率大约是6Khz。
电源管理和USB
这部分其实就没有什么坑了,电源管理是直接抄WD1305的手册,对于没有接触过电源管理的同学来说(正是本人),照抄就好了,封装什么的最好都一样,很多第一次做的同学会把10uH选错,这也算是一个坑吧,这个选择功率电感就行,因为本身用于5V的电流也很小,通常是几十毫安,你选择一个500ma的功率电感基本是足够的。
电机驱动
这部分是坑最大的一个部分,栅极驱动器用的是EG2133,自带死区控制。所以高侧和低侧刚好是反向的,所以直接共用一个PWM就可以。又一个坑来了!!!这个芯片的VCC和用于高侧的基电压一定要是一样的。其次是自举电路!!!我和室友在这上面坑了许久(因为不懂自举电路的作用),照抄就是了!!!不要图简化,省去二极管或者电容(原因自举升压芯片的使用_9个注意事项_栅极驱动_半桥驱动_哔哩哔哩_bilibili )。DMT3009LDT-7是双N沟道MOS管。栅极的电阻和二极管是用于降低MOS管的发热。至于原因的话推荐B站视频听说你的MOS管又又又被击穿了?_哔哩哔哩_bilibili
电流采样![](https://i-blog.csdnimg.cn/blog_migrate/2267eaa42245deb68744e3c32e930a4b.png)
用的专用电流采样芯片,采样电阻要考虑一下最终输出的电流和功率,选择合适的采样电阻就可以。我这里用的10毫欧1W的电流采样电阻,能走10A电流。
总结
- PWM用的定时器中,有一个通道要能触发ADC采样。
- 自举电路二极管和电容不能少,电容不能太小。
- MOS管的电源和栅极驱动器的电源要分开,当然也可以用一个(限制了应用范围。