电子水泵Electrical Water Pump (以下简称EWP) 目前在汽车工业里的应用已经越来越广泛。EWP主要用于汽车的发动机冷却和电池的热量管理系统中。相较于传统发动机带动的机械水泵,EWP具备更高的效率和可靠性,因此在碳排放日趋严格的未来,EWP将会扮演更加重要的角色。
在这样的背景下,恩智浦开发了
基于S12ZVM的EWP参考设计
,以帮助客户缩短开发周期并降低成本。
EWP使用的芯片是MagniV家族中的MC9S12ZVM,它具有16位MCU的所有优势,主频最高可达100MHZ。MC9S12ZVM系列提供不同的引脚输出选项,采用80引脚、64引脚和48引脚LQFP-EP封装,以适应LIN、CAN和基于外部PWM的应用接口。
此芯片提供了电机控制中所需要的几个关键外设模块,如ADC、PTU、PMF、GDU,这种高集成度的MCU可优化系统架构并节省大量空间,可以实现完全集成的单芯片解决方案,可驱动多达6个外部功率MOSFET,应用于BLDC或PMSM电机驱动中。MC9S12ZVM系列框图如图1所示:
图1,MC9S12ZVM系列框图
S12ZVM产品非常适合于EWP应用,它可以在12V系统中覆盖从20W至600W的功率范围的应用。
技术指标主要包含参考设计的设计目标以及达到的性能要求。详细如下:
-
供电电压范围:9V到16V,12V以下供电时最高转速允许降速;
-
额定电压:13.5V;
-
转速范围:和具体电机相关,测试过的水泵转速范围650RPM到3200RPM;
-
工作温度范围:-40℃〜+125℃,可以根据需要提升到150度环境温度;
-
启动时间:允许10秒从静止到最高转速;
-
当发生故障时停机,故障消除后自动重启;
-
完善的保护机制,支持过压欠压保护、过温保护、堵转保护、硬件过流及限流保护等;
-
默认转速模式,支持PWM控制转速,无需更改硬件即可支持LIN控制。具体如图2所示:
图2,PWM占空比和转速关系图
该参考设计硬件部分总体来说是非常简洁的,这得益于S12ZVM的高集成度。常规电机控制需要用到的驱动芯片、电源转换芯片以及运放等模拟电路都进行了内部集成。
本参考设计采用S12ZVML64+7*NMOSFET的设计。双电阻采样可以获得更好的电流质量,同时和S12ZVML64内部的双运放及双ADC模块相得益彰。因此参考设计采用了双电阻采样的磁场定向控制,如图3所示。当然恩智浦也有单电阻方案可供参考。
图3,EWP参考设计的硬件框图
由于S12ZVM的高集成度,使得其PCB的设计比较小巧,其直径大约60mm,方便与水泵做成一体,PCB实物图如图4所示。
图4,EWP PCB实物图
该参考设计采用4层板结构来实现,其中TOP层和BOTTOM层如图5所示;GND和中间信号层如图6所示。
图5,EWP参考设计的TOP层和BOTTOM层
图6,EWP参考设计的GND层和中间信号层
在地线的处理上是划分功率地和信号地的,可以通过图5的右图和图6的左图看出来。对于关键信号电流采样电路,尽可能的做到越短越好。另外需要注意的是S12ZVM芯片中间的散热盘一定要和板子上的GND连接起来。
整体软件架构沿用恩智浦公司的基于S12ZVM的PMSM双电阻样例程序,大家可以参考AN5135以及相应示例代码。下面的软件部分描述主要内容是整体的框架以及在对于基础代码上增加的部分内容进行了描述。
关于该参考设计电机控制部分用到的各模块的连接情况如图7所示。
图7,电机控制部分模块连接图
该控制回路由PMF、GDU、ADC和PTU模块组成。PTU和ADC使用存储在存储器中的列表进行操作。这些列表定义了PTU的触发点,ADC的命令和ADC的结果。如果启用了PTU,则reload和async_reload事件会立即传递到ADC和GDU模块。PMF的reload事件会使PTU重新计数,并从列表中获取第一次触发时刻,同时产生ptu_reload信号给ADCx从而开始装载ADC Command Sequence List (CSL) 中的转换指令。当触发时刻到了后,PTU就会产生相应的trigger_x信号给ADC模块。对于两个ADC模块同时采样,PTU则同时触发两个trigger_x信号,一个ADC模块对应一个,也就是说trigger_0送给ADC0,trigger_1送给ADC1。
PWM和ADC自动同步的时序图如图8所示。
图8,PWM和ADC同步的时序图
由该时序图可以看到PTU的触发时刻相对于reload事件是固定的。Trig0是在PMF的reload后延时很小一段时间触发的,而Trig1则是在Trig0之后一段时间的触发信号。Trig0的一小段延时是为了让DMA有时间来加载ADC列表里的command。
Trig0触发ADC0和ADC1主要是为了完成A相和B相电流的采样。Trig1则是为了采集处理器芯片温度和母线电压,都为内部信号。Trig2触发的ADC0是为采集MOSFET的温度,而ADC1采集用户自定义的模拟量,比如模拟量用于控制转速等。
对于EWP的保护策略,和常规电机控制器类似,包括过压欠压保护、过流保护、短路保护、堵转保护和过温保护。下面就具体来分析各个保护的做法。
S12ZVM支持硬件电压保护。通过设置芯片电压工作范围来确定过压保护点。该保护点为20V(normal range)或者26.6V(extended range)。S12ZVM会硬件监控HD管脚电压,当其高于设点点后,根据GOCA的设置,关掉6路PWM(GOCA=1)或者关掉高边的3路PWM(GOCA=0)。并置位GHHDF位,通过给该位写1清0。软件电压保护相当比较简单,参考设计为软件保护提供了2个级别,一个叫TRIP,一个叫FAULT。TRIP并不直接导致进FAULT状态机,而是提供警示信息。所以TRIP的比较阈值比FAULT的阀值范围更小,在进FAULT之前会先进TRIP。另外程序中有过压点就会有过压恢复点,有欠压点也会有欠压恢复点。这样做的好处是产生一个电压滞环,确保不会在保护点附近来回转换。
S12ZVM支持硬件过流保护,但在AN5135中并未启用。硬件过流保护非常重要,是系统可靠运行的保证。硬件过流保护是靠内部两个比较器来实现的。框图如图9所示。
图9,硬件过流保护示意图
通过设置GOCEx=1来使能硬件过流比较,通过设置GOCTx[4:0]来设置过流阈值点。这样就可以硬件监控来自两个运放的输出,使得一旦出现异常就会触发过流保护,从而硬件关断PWM。
当然,软件过流保护也是不可少的,通过设置过流保护的TRIP值和FAULT值来实现对电流的软件监控和保护。TRIP会触发过流报警不停机,FAULT会触发过流保护停机。这个软件的比较是在faultDetection函数中完成的。
短路保护主要是靠Desaturation保护实现的。Desaturation保护的机理是基于检测MOSFET导通后的漏源(DS)间的电压来实现的。正常MOSFET完全导通后是工作在饱和导通状态,其DS间电压很小,如果发现该电压过大,就意味着流过该MOSFET的电流太大或者MOSFET没有被正常的打开。在发生短路时刻,无论是电机的某相对地短路或者MOSFET直通,流过MOSFET的电流都会很大,这个大电流会触发Desaturation保护。因此可以用该保护来实现短路保护。具体框图如图10所示。
图10,Desaturation保护示意图
需要注意的是,由于该保护是在MOSFET开通期间进行比较,因此需要设置一个blank时间来避开刚打开MOSFET时的一小段时间以避免误触发。对应的寄存器是GDUCTR中的GBKTIM段。当选择GBKTIM[3:0]=0xF时,Desaturation保护被屏蔽,除此之外该保护功能不能被关闭。当板子Layout有问题时,可能会带来误触发。
过温保护主要通过温度传感器检测温度来实现。S12ZVM内部有一个温度传感器可以用来监控该芯片的温度。另外为了系统更可靠,可以在功率器件的边上安放一颗NTC。需要注意的是S12ZVM内部的温度传感器是需要进行标定的,拿到的采样值并不能直接用,否则会带来一定的误差。
对于无传感器控制方案,堵转检测变得必不可少。因为无传感算法在一些特定的条件下可能会出现假转现象,电机没运行但观测器运行的很好。以及在启动阶段外界阻尼过大的时候也会发生堵转。水泵的参考设计用到了堵转保护,参考的是NXP专利US20170126153A1。简化后具体实现的框图如图11所示。
图11,堵转保护示意图
其基本原理是用速度与反电动势系数相乘以及和Ke_offset相加后得到的Eq与反电动势观测器得到的Eq’进行比较,两种方式得到的反电动势应该差别不大。如果发现偏差比较大的话,积累几次后就触发堵转保护。
每种电机都需要对KE及Ke_offset进行标定,因为这个是和具体电机相关的。因此在默认的配置中,该功能是disable的,因为拿到程序后,标定好相应参数才能使能,否则电机无法正常运行。
因测试条件的限制,对于该项目做全电压工作测试、启动成功率测试以及启动时间测试、转速稳定度测试、电压波动测试和负载波动测试等基本测试。
环境搭建的水泵系统如图12所示,而测试设备如图13所示。测试设备包括4通道示波器、电流探头和可调直流电源。
图12,测试环境搭建-水泵系统
图13,测试环境搭建-测试设备
对于电压范围9V到18V进行测试,查看转速范围。低压下转速会达不到额定转速,应该对其转速范围进行限制,根据电压范围来设定最高转速。
测试结果表明在9V到18V下水泵都是可以正常启动和工作的。启动后,电压跌落到8V还是能正常工作,到7V时会报GDU的VLS电压过低故障。如果需要系统在7V以下还能正常工作,可以添加外部的Boost电路,本参考设计没有添加。
分别做9V和18V 输入条件下的启动测试。目标转速1500RPM,重复测试100次,记录成功的次数。、
示波器记录频繁启动的波形,对于9V的启动如图14波形所示,18V下的启动如图15所示,可以看到连续成功启动的波形。
图14,9V输入电压下连续启动的波形
图15,18V输入电压下连续启动的波形
设定的要求是从静止开始到全速运行的时间应该在10秒内。对于该水泵电机而言,就是要让水泵从静止到3200RPM的时间控制在10秒内。这个指标其实不高。
测试结果如图16所示。从图上可以看到该方案的启动时间在9秒左右,是符合设计要求的。当然这个具体和客户的要求相关,可以根据实际的需求做调整,对于FOC控制来讲,动态性能正是其优势所在。