最近公司准备做一个变频冰箱压缩机控制项目,领导让我在市面上常用的能做电机控制的MCU中选一个。比较好几家国产MCU后,我终于看到了凌鸥的datasheet,号称电机驱动专用MCU,我决定好好研究一下。经过反复的阅读手册,我发现还真不是吹的,此MCU确实是针对电机控制做了针对性的优化,比如在硬件过流的做法上其他的是有的需要外挂运算放大器,有内置的也是需要将运算放大器输出信号输出到MCU外面再进行处理,而凌鸥这个内置运算放大器且可以在芯片内部配置运算放大器放大倍数,输出信号可配置成与ADC相连接,同时也可以输出到比较器,比较器再输出到PWM急停,如此一来,原理图设计得到了极大的简化,这对于画原理图和PCBLayout的同学来说无疑是好消息。于是决定选择了凌欧的芯片作为项目MCU。
下面简单介绍一下选这个芯片的优势
首先介绍硬件过流检测处理逻辑
文章开头已经介绍了因为是电机驱动专用芯片,硬件过流检测功能电路设计非常简单
采样电阻高电压侧连接到比较器正端输入,比较器负端可以设置与内部DAC连接,(比较器正端其实也可以直接用运放输出信号省掉R20(见文章末尾原理图)贴片电阻,此时运放是单端模式,到比较器的电压为signal/2+1.9V)
同时比较器的结果送入MCPWM模块触发Fail事件,Fail事件是MCPWM的停机信号,这样一来硬件过流就算完成了
停机的时候PWM输出状态可配置
同时芯片还贴心的设计了一个功能
该比特写0时候可以使芯片在调试的时候MCU被暂停时输出指定状态,防止调试时PWM运行时关闭调试导致上下管直通炸机。
其次介绍ADC
这个芯片ADC配置也挺灵活,有2种ADC基准电压选择,2.4V和3.6V。ADC结果寄存器与采样通道不是一一对应的关系,ADC采样可分为多次,(对单电阻采样来说挺方便的),每次采样通道数可配置,ADC结果寄存器里面的数据和采样的通道顺序对应,比如2次采样,每次采样2个通道,第一次采通道6和7,第二次采通道7和8,那么结果寄存器ADC_DAT0就对应的是通道6,ADC_DAT1就对应的是通道7,ADC_DAT2就对应的是通道7,ADC_DAT3就对应的是通道8。
然后是MCPWM(MotorControlPWM)
4对互补输出,每对死区可独立配置,保证 CHP/CHN 不会同时打开,避免短路发生。PWM可设置在PWM计数器在特定计数点触发ADC采样
确定好了要用凌鸥的MCU后,又联系的凌鸥的相关人员,要到了一块基于LKS32MC037M6S8的DEMO设计板和相关硬件设计图和软件方案。
这是我要到的DEMO板,后续实验也是用的这块板子
这块板子芯片是LKS32MC037M6S8:
48MHz 32 位 Cortex-M0 内核
电机控制专用 PWM 模块4对8路
1 路 12bitADC,共 11通道
集成2 路运算放大器
8bit DAC
集成两路比较器
其他资源略过。
下面是方案的MCU引脚定义
可以说是相当简洁,我看了官网的介绍有的芯片还集成了内部LDO,还可以省一颗MCU的电源芯片(带LDO的对散热要求会高一点)。
然后软件调试部分
由于我的压缩机和方案里面原有的压缩机控制参数不一样,所以需要按我的压缩机参数修改软件里面的参数,主要就是修改极对数、电感、电阻、反电动势常数、PI参数这些
下面是实验部分
6K载波频率带载启动
6K载波频率带载稳定运行
总的来看,性能这些是没有问题的,特别是启动部分,相当平滑,无抖动无过冲。
最后贴一下方案的原理图
---------------------
作者:如歌aaa
链接:https://bbs.21ic.com/icview-3275186-1-1.html
来源:21ic.com
此文章已获得原创/原创奖标签,著作权归21ic所有,任何人未经允许禁止转载。