点此链接查看上篇: 【工程师笔记】如何正确选择步进电机驱动器-上
很多时候我们不需要过多用不到的功能,因为更多的功能意味着更高的成本。
一些比较老旧的驱动器使用外部采样电阻,每个全桥各需要一个,以提供控制绕组电流所需的电流反馈。这些电阻又大又贵。较新的驱动器一般都将采样电阻集成到IC内部,这样不但可以减少外部所需的元件,而且还减小了布板面积。
不同驱动器之间的步进模式差异很大,从整步到1024微步都有。从某种程度上讲,更精细的步进模式可以使步进电机运行更平稳。但细分步数也不是越高越好,因为它会受到电机自身机械结构的限制,而无法实现更高的细分要求。实际应用上比较常见的微步有1/8步和1/16步。
为了实现高质量的运动控制,绕组电流必须得到很好的调节。确保这一点的一个重要指标就是控制电流衰减的时间。
电机高速运转时会产生较大的反电动势,如果管理不当,可能会导致电流波形失真。一些比较老旧的驱动器采用固定比例的“混合衰减”模式来解决这个问题。而比较新的驱动器,带有内部电流检测,可以实现自动电流衰减,提供了更高效的电流控制。
保护功能在电机驱动IC中是非常有必要的,它可以在发生短路或电源故障等问题时保护IC不受损坏。
在改进型的步进电机驱动IC中通常会使用SPI接口,会做更加完善的故障诊断功能,比如电机失速检测,负载开路检测等等。
最后,IC的封装尺寸也是一个重要的考虑因素。较小的封装可以节省PCB布板面积,但较小的封装通常有较大的热阻,这意味着它们耗散IC内部产生热量的效率较低。这可能会限制驱动器可以提供的最大输出电流。
在后续探讨之前,我们先来回顾下数据手册上经常会看到的几种电流表述。Peak,maximum,continuous,average,RMS,full-scale…
图8
一般来说,peak current指的是峰值电流,它是触发OCP前允许的最大瞬时电流;maximum一般指的是一个周期内的最大输出电流;continuous一般指的是持续的直流输出电流;average是算数平均电流;RMS是均方根电流;full-scale是满量程电流。
实际上IC厂商之间并没有统一 驱动器输出电流的表述方式。
比如图8中,波峰时刻的电流,在一些数据手册中,被描述成maximum current,peak current或者是full-scale current。但在另一些数据手册中,这些电流的含义却是不一样的。所以,你必须真正理解它们具体指代的意思,而不是停留在术语本身。
在IC功耗计算中,我们需要用到RMS电流。
整步模式下,绕组电流只被驱动到一个电流平台。所以,在不考虑电流纹波时,整步下的RMS电流就等于最大电流;而在非整步模式下,你可以用最大电流乘以0.707,来近似得到RMS电流。
在我们深入了解驱动器 实际可以输出多少电流之前,我们需要计算IC上产生的功耗。
对于IC总功耗的计算,我们需要知道全桥电路中功率管的导通阻抗,我们用Rds(on)来表示。在步进电机驱动IC中,全桥上管和下管的导通阻抗可能是一样的,也可能是不一样的。在电流调节期间,绝大多数时候,控制器保持全桥一侧下管通,另一侧在PWM,PWM的占空比根据电源电压、电流调节设定值和电机转速等变化。理论上来说,占空比可以在0和100%之间变化,但实际上大多数时候,占空比都是在50%左右变化。
换句话说,在电流调节期间,始终有两个功率管处于导通状态,电流有一半的时间流过两个下管,另一半时间流过一侧的上管和另一侧的下管。
由此我们也可以大致计算出芯片总的有效导通阻抗,计算公式为一个下管的Rds(on) + 上管和下管Rds(on)的平均值:
例如MP6500上管Rds(on)为195mΩ,下管为170mΩ,那么可以算出有效导通阻抗为353mΩ;而竞品上下管的Rds(on)都为450mΩ,电流路径上的有效导通阻抗为900mΩ。
考虑到实际工作中,下管导通时间更长,所以在设计驱动芯片时,将低边MOSFET的Rds(on)做的更小一些,是有意义的。
可是,有时候事情并没有我们想想的这么简单。
事实上MOSFET的Rds(on)并不是一个恒定的值,不同芯片之间可能会存在差异,这就是我们可以在数据手册上看到典型值和最大值的原因。对于最坏的情况分析,我们可以用最大值来计算,尽管这是一种比较悲观的做法,但它绝对是安全的。
更糟糕的情况是MOSFET的Rds(on),会随温度变化而变化,这种变化和器件的物理特性相关,不同的IC工艺都有类似的现象。
图9展示了MP6500两个全桥上/下管Rds(on)随温度变化的情况。一般来说,150度下的Rds(on)会比常温下高50%左右。
图9
知道了电流路径下的有效导通阻抗之后,我们就可以来计算IC上产生的总功耗了。它大体可分为三部分,分别是导通损耗,开关损耗和静态损耗。
当然可能还有一部分驱动损耗,这部分损耗非常小,通常可以忽略不计。有时候驱动损耗已经包含在静态损耗中,这取决于IC静态电流是在开关状态下还是非开关状态下测得的。
我们先来看导通损耗, 它的计算公式是:
其中IRMS是流经绕组的有效电流,RDS(ON)是电流路径上MOSFET的有效导通阻抗。
在MOSFET开通和关断时也有一部分功率损耗,即开关损耗。这个功耗取决于开关频率和MOSFET开通关断时的转换速率,也就是slew rate。在此期间,MOSFET工作在线性区域,就像可变电阻一样。所以这个功耗可以近似为 (1/2输入电压输出电流开关频率开通关断时间):
通常步进电机驱动IC手册上不会标明转换速率,但大部分驱动器的上升下降时间在10nS到100nS之间。所以,如果没有明确标注的话,我们可以用100nS作为估算。
注意,我们算的导通损耗和开关损耗只是其中一个全桥的,在步进电机驱动器中有两个全桥,所以以上两部分损耗,需要乘以2。
最后一部分是静态损耗,这部分损耗来自于芯片内部的逻辑供电,门级驱动电路等等。数据手册上会直接给出IC静态电流,我们用输入电压乘以静态电流就得到了这部分损耗:
IC内部耗散的总功率就是这三部分之和:
下面我们用一个实例来说明IC总功耗。
比如某个应用中,MP6500输入电源电压为24V,输出峰值电流为2A,开关频率为20kHz。在正弦或者类正弦的电流输出中,2A峰值电流意味着实际驱动电机的RMS电流为2A*0.707,即1.414A。前面我们得到了PWM期间,6500总的有效导通阻抗为353mΩ,那么就可以算出导通损耗为706mW每个全桥。我们没有在6500的数据手册中找到上升/下降时间,所以这里我们都用100nS来近似估算。当然slew rate可以通过实际测量得到。
根据公式算得开关损耗为每个全桥68mW。另外我们在手册中找到静态电流为1.5mA,算得静态损耗为36mW。三部分损耗相加,我们得到的总功耗约为1.58瓦。需要注意的是,这里我们用到的所有数据都是基于常温下的。
当我们知道了IC上消耗了多少功率以后,我们就可以把它和实际温度联系在一起。IC内部硅晶片上的温度我们称之为“结温”,由于我们不能直接测量结温,只能依靠热仿真或者大体计算得出。通常,硅晶片的工作温度是有上限的,一般为150摄氏度。超过这个温度,大多数芯片就会关断功率级以保护IC不被损坏。热量会从一个温度较高的物体流向一个温度较低的物体,就好像电流会从一个较高的电压流向一个较低的电压。传递受阻力的影响,在热模型中,我们称之为热阻。
图10展示了一个最基本的热传递模型。硅晶片上产生的热量有两条传导路径,一条向上传导,从junction传递到case top,再由case top向空气散热;另一条向下传导,从junction传递到board,再由board向空气散热。
图10:基本的热传递模型
大多数IC数据手册上都标注了热阻参数。Theta-JA,它表征了热量从硅晶片向周围空气传递时受到的阻力,它是上述两条支路的热阻总和,单位℃/W。所以当你知道了IC上消耗的总功率,你就可以通过功率乘以热阻再加上环境温度计算出结温。
需要说明的是,你在数据手册中看的热阻参数都是基于一些标准PCB下的数据,其中一种JEDEC标准,称之为JESD-51。JESD-51有几种标准化的电路板结构,其中IC数据手册中最常用的是JESD51-7,也就是图11上展示的这个。
图11
JESD51-7约定了板子的尺寸,层数,铜厚和线宽等等。这是一种相当典型的PCB板结构,但它可能与你实际的PCB有很大不同。
不同PCB的尺寸,层数和铜厚都会对热阻产生巨大的影响。所以,手册上给出的热阻数据只适用于JESD51-7标准下的PCB以及其约定的其他外部条件。换句话说,手册上的Theta-JA只能用于同类产品之间的横向比较,而不能用于你PCB上的IC发热计算。
这里我们用一个实例来说明不同PCB对相同功耗下的IC发热有多大影响。
图12中的左边是MP6500在两层板上驱动2A峰值电流时的发热情况,我们可以看到壳温是84度;图12中的右边是四层板,其他条件都一样,壳温只有56度。差异非常的明显。
图12:MP6500 Driving a 2A Peak Stepper Motor
我们知道了如何计算IC功耗和结温,现在我们再回过头来看看手册中的标称电流。
如图13所示,MPS公司的MP6500标称2.5A 最大电流,同类其他产品标称2.4A 峰值电流。单从标称电流上来看,有人可能会认为这两个part都可以工作在2A峰值电流。
我们再来对比下它们的热阻,TSSOP封装分别是32和30.9,QFN封装分别是36和40.7。看起来也没有太大的差别。
但是,请注意MP6500的有效导通阻抗只有353mΩ,而同类“其他产品”却高达900mΩ,是MP6500的两倍多。
我们也来算一下“其他产品”的总功耗,还是在24V,2A峰值电流下。计算方法我们前面已经讲过了,这里就不再重复。直接讲结果,我们得出在相同条件下,“其他产品”总功耗是3.86W,而MP6500的总功耗只有1.58W。
再来看下这两款产品的结温。
以TSSOP封装为例,都在室温25度下工作。MP6500的结温是75度,同类“其他产品”是145度,这几乎到了热关断的温度。
但是请不要忘记,刚才我们计算总功耗时,用的只是常温下的Rds (on)数据,高温下Rds(on)会显著增加,所以实际的结温肯定比我们拿常温数据计算得到的要高。再考虑到环温高一些的应用场合,比如烈日下的汽车内,同类“其他产品”就根本没办法持续工作在2A峰值电流。
换一个角度,我们刚才看到MP6500在两层EVB上驱动2A峰值电流的壳温是接近85度,也就是60度的温升,而MP6500的功耗只有同类“其他产品”的41%,那么可以计算出在同样的两层EVB上,同类“其他产品”的温升达到141度,结温更是高达166度,这已经远远超过了OTP的温度。
通过上述对比,我们可以看出MP6500手册上标称的2.5A maximum current是常温下实实在在能出的电流,而同类“其他产品”很难在常温下持续输出2A最大电流,更不用说2.4A。
这也就是为什么我们一直在强调不能仅仅只看手册上的标称电流的原因。
通过热阻参数Theta JA,我们也可以反推某一温度下实际够输出多少电流。这里你需要解一个一元二次方程,这和我们之前做的计算是一样的,只是反过来而已,具体过程我就不详细了。
比如常温25度下,MP6500在触发OTP之前可以持续输出2.3A RMS电流,3.2A峰值电流。同类“其他产品”只能输出不到1.5A的RMS电流,2.1A峰值电流。同样的,这些计算结果都是基于常温下的Rds(on)和静态电流,以及JESD51-7标准下的评估板。
需要强调的是,我们不认为任何IC厂商会在数据手册上发布不真实的信息。
同类“其他产品”在数据手册上标注2.4A peak current,1.5A full-scale current。通过刚才的计算,在室温下,同类“其他产品”很难持续工作在2A峰值电流。所以,这里的2.4A peak current,我们可以理解为短时间内可以输出的最大电流,而非持续输出的最大电流。
正是因为很多时候IC厂商之间对某些参数指标没有明确的规范,所以,我们在选择步进电机驱动器时,就需要结合自身应用,更深层次的理解和计算。
当我们在设计一款对IC发热要求非常高的产品时,我们可以使用150度下的Rds(on)数据来计算。结果可能会让你感到失望,也许只有我们上面计算的一半,但这正是我们需要考虑的。
综上所述,关于如何选择步进电机驱动器,有以下一些小建议:
第一,不能完全依赖数据手册中的规格参数,它们的定义可能不同,适用情况和现实情况可能相去甚远,有时甚至是彻头彻尾的误导!
第二,为了确定选择的驱动器是否适合你的应用,你需要使用MOSFET的导通阻抗和IC的热特性参数等,进行估算。
第三,将PCB结构,环境温度,周围散热情况等纳入你的考虑。
最后,我们来做个简短的回顾:
今天我们一起了解了典型的两相双极型步进电机的基本结构,如何去驱动一个步进电机,我们讲到了细分控制原理,逐个查看了手册上的主要技术指标,以及如何计算IC损耗并将它和温度联系在一起。
希望本次分享对大家今后在选择步进电机驱动器时有所帮助。
如有相关需求可点击 MPS NOW 在线技术支持 , 工程师将为您直接提供项目技术支持服务
查看更多技术资源可访问:Resource Center