今天的主要工作集中在博士师兄的项目上,效率偏低,主要是一中午的时间都卡在晶振上。在焊接完芯片和晶振之后,测试晶振输出引脚无输出,所以就开始找各种博客,寻找晶振不起振的原因,在下面两篇文章中找到了答案
【042】STM32晶振不起振
STM32的RTC晶振不起振的原因及解决方法
最终也是在cubeMX中配置好时钟之后,将代码下载到STM32,晶振最后也能完美输出8MHz正弦波:
之前是一直在做F28335芯片相关的PCB,焊接好芯片和晶振之后就会有输出,这个影响到今天STM32的测试,也算是涨知识了。
下午主要是焊接了MCT8316ZR芯片,BLDC驱动芯片,是一款高度集成的芯片,不需要逆变电路(6个MOSFET不需要啦~)、电流采样、HALL信号处理,FOC算法也不需要自己动手去写,直接通过SPI配置好寄存器,达到自己的控制需求就好了。该芯片的主要还是用在对精度不高的场合,比如本项目。下面是实际焊接的电路:
下图是芯片的内部框图,具体参考芯片手册(区分芯片ZR和ZT的类型):
引脚名称 | 功能 |
---|---|
BRAKE | 高电平->将低边MOSFET关断,电机刹车;低电平->正常运行 |
CP | 电荷泵输出。在CP和VM引脚之间连接一个X5R或X7R, 1-µF, 16v陶瓷电容 |
DRVOFF | 当引脚拉高时,功率级的六个MOSFET关闭,使所有输出高阻抗 |
FGOUT | 电机转速指示灯输出。开漏输出需要一个外部上拉电阻到1.8V到5.0V |
ILIM | 设置相电流的阈值 |
nSLEEP | 当这个引脚为逻辑低时,设备进入低功耗睡眠模式 |
PWM | 用于控制电机的转速通过设置不同的占空比和频率 |
nSCS | SPI选择引脚,该引脚拉低,则选中该芯片 |
SCLK | 串行时钟输入 |
SDI | 串行数据输入,对应SPI中的MOSI(主输出从输入) |
SDO | 串行数据输入,对应SPI中的MISO(主输入从输出) |
主要的功能引脚如上表介绍,其他的三相输出以及三相霍尔就不再赘述。在7.5 Electrical Characteristics节中对芯片引脚的电气特性做了一些介绍,其中有一些比较重要的数据,这部分尽量仔细的查看一下。关于后续代码的驱动,将在该系列下一篇文章中介绍。