原文地址:/blog/articles/bridge-to-the-far-side/motor-modeling/
本文为翻译校正稿件,为方便理解,作者加入了一些注释,使用蓝色字体标记,并加入了必要的公式推导.
Motor Modeling
电机建模
1.Introduction
引言
In this article I’ll go through a few DC motor (and as a matter of fact complete mechanical system) models of various complexity. Most of the discussion is centered around coming up with equivalent electrical circuits, because – well, because I’m an electrical engineer.
在本文中,我将介绍几种不同复杂程度的直流电机模型(实际上是完整的机械系统)。大多数的讨论都基于一个目的:提出电机的等效电路模型,因为我是一个电气工程师(*^__^*) 。
The article will go into quite a bit of detail, but don’t feel obligated to read through the whole thing. You can gain quite a bit from reading the first chapter alone.
这篇文章将会讨论相当多的细节,但你不必从头到尾浏览一遍。你可以单独阅读某一章,这样也能获得相当多的东西。
2.Electrical model
电气模型
If all you care about is a simple motor model that works well for sizing H-Bridges, this is the only chapter you need to read. The model introduced here doesn’t account for the effects of mechanical components. It treats shaft speed as a constant. This model will not be useable for control applications, where you try to electrically compensate for the effects of mechanical components. The main assumption in the model introduced here is that the mechanical time-constants in your system are much higher than the electrical ones. That’s true in almost all cases, but you would need to read through the rest to understand why. With that, let’s jump right in!
如果您所关心的是一个简单的使用H桥的电机模型,那么这是唯一你所需要阅读的章节。本章介绍的模型没有考虑机械部件对电机的影响。在这里我们把轴的速度看成常数。这个模型不适用于实际控制应用中,因为它试图使用电力驱动补偿机械元件的影响。在这里,我们假设系统中的机械时间常数远远高于电子元器件的时间常数。实际上几乎在所有情况下都是这样,但是你需要读完剩下的部分才能理解其中的原因。让我们开始吧!
A DC motor is an energy conversion device: it takes electrical energy and turns it into mechanical energy. When operated as a generator, it does the opposite: converts mechanical energy into electrical.
直流电动机是一种能量转换装置: 它吸收电能并将其转化为机械能。当作为一个发电机时,它做相反的事情: 把机械能转换成电能。(实际上,电机在运转时,既是电机也是发电机)
In the simple motor model we start off with, the mechanical parameters are completely ignored. On the electrical side, the motor basically contains a number of inductors, that move in a magnetic field. The inductors themselves of course have an inductance, and some internal resistance. Their movement in the field will generate a voltage across the inductors. From this description, the following model can be drawn:
在我们开始的简单电机模型中,机械参数被完全忽略。在电气方面,电动机本身包含电感器(线圈绕组),它们在磁场中运动。电感器本身具有电感量和内阻。它们在磁场中的运动将会产生电压。根据这一描述,可以得出以下模型(电机等效于电阻器电感器以及电压源的串联):
In fact in many cases, the internal resistance of the inductors can be disregarded, and the even simpler model, an ideal inductor in series with a voltage source can be used:
事实上,在许多情况下,可以忽略电感器的内阻,甚至可以使用更简单的模型-与电压源串联的理想电感器来对电机建模(因为内阻往往很小,相比于其他参数可以忽略时,使用这一模型):
In both cases, all the elements are in series, so the share the same current. We’ll denote it with ‘I’.
在这两种情况下,所有部分都是串联的,因此流过元器件的电流相同(串联等流)。
3.Mechanical model
机械模型
The picture however is more complicated, if we consider the mechanical elements as well. The motor in the mechanical domain can be approximated by a rotating disc:
然而,如果我们同时考虑机械元件的话,情况就更加复杂了。机械领域的马达可以近似于一个旋转圆盘(译者称之为飞轮):
In this simplistic model, the moving part of the motor (the rotor) has some moment of inertia (Jm) and some friction (fm). The remaining letters on the image are: ‘T’ for the torque on the motor and ‘s’ which is the rotational velocity or speed. An ideal motor has no losses, so fmis 0. Normally introductory texts use viscous friction to model mechanical losses in the motor, due to its linear behavior. However that model is way too simplistic to be practically useful at least in my experience. So while the model I’m using is very similar to the one introduced here for example:http://www2.ece.ohio-state.edu/~passino/lab2_rotary_dynamics.pdf, we will have to take some non-linear behavior into consideration.
在这个简单的模型中,电机的运动部分(转子)有一些转动惯量和摩擦。图片中的字母: “T”表示电机上的转矩,“S”表示转速。假设理想的电机没有损耗,所以fm是0。通常一些导论使用粘性摩擦表征电机的机械损失,因为它表现出线性规律。然而,至少在我的经验看来,这个模型过于简单,实际上这种模型是没有用的。因此,尽管我使用的模型与这里介绍的模型非常相似,例如: http://www2.ece.ohio-state.edu/~passino/lab2_rotary_dynamics.pdf ,我们也要考虑一些非线性规律的因素。
In many cases, you can use this model for the whole mechanical portion of your design: it basically describes a motor driving a mass with some loss. This is a good enough model for example for the drive-train of a wheeled platform (anR/Ccar or a mobile robot), as you will see later. The model gets more complicated of course if you need to consider springs or spring-like elements. For belt-drive mechanics for example, this model cannot be accurately used.
在许多情况下,你可以把这个模型用于你设计的整个机械部分: 它描述了一个电机驱动一些质量块(可以把含电机的系统简化为电机加质量块这个模型),但有一些能量损失。这是一个很好的模型,对于轮式的移动平台(例如无线遥控的汽车或移动机器人)的驱动系统。正如我在后面展示的那样。当然,如果你需要考虑弹簧或类似弹簧的元素,模型就会变得更加复杂。以皮带传动的机械系统为例,这种模型就无法准确描述了(指电机驱动质量块这一模型无法表征含带传动的电机驱动系统)。
If you start considering highly non-linear effects in the mechanical (or electrical for that matter) domain – effects of wind-resistance for example – things get even more complicated but I will not consider those problems here.
如果你开始考虑机械(或电气)领域的高度非线性效应,比如风阻效应,事情会变得更加复杂,但我不会在这里考虑这些问题。
4.The gateway between the two worlds
两个世界之间的通道
We said that a motor is an energy conversion device. We need to describe this conversion, and this description will connect the electrical and the mechanical world together. We know that the voltage induced on the motor windings (Vg) is proportional to the rotational speed (s) of the motor. We also know that the motor torque (Tm) exerted by the motor is proportional to the current (I) flowing through it. Note that Tmis not the torque that’s measurable outside of the motor. This is the torque that was converted from the electrical current. Some of that torque will be used up on internal losses in the motor and only the remaining portion is available for external use. We can describe these relationships with two constants in the following way:
我们说过,发动机是一种能量转换装置。我们需要想办法描述这种转换,这种描述将把电子和机械世界连接在一起。我们知道电动机绕组上的感应电压(Vg)与电动机的转速(S)成正比。我们还知道,电动机施加的扭矩(Tm)与流过电动机的电流(I)成正比。请注意,Tm并不是电机外部可测量的转矩。这是由电流直接转换而来的转矩。其中一些扭矩将被电机内部消耗,只有其余部分可用于外部使用。我们可以用以下两个常量来描述这些关系:
Tm= KT*I (1)
电机转矩与电流成正比,Kt为转矩系数
Vg= KE*s (2)
电机产生的反电动势与电机转速成正比,Ke为反电动势系数
In an ideal motor, the conversion has a 100% efficiency, which means that the power on the electrical side must be equal to the power on the mechanical side. In other words:
在一个理想的电机模型中,电机的转换效率为100% ,这意味着在电力方面消耗的能量必须等于在机械方面消耗的能量(意思就是电能全部转换为机械能)。直接上公式:
I*Vg= T*s (3)
Using the previous conversion equations, we get:
带入使用之前的转换方程式①与式②,我们得到:
I * KE * s = KT * i * s
从而:KE = KT
So, in the ideal case, the two conversion constants are identical.
因此,在理想情况下,两个转换常数(Kt =Ke )是相同的。
5.Electrical equivalent
电气当量
Next, we will come up with an electrical circuit that – if you examine it from the outside on the electrical domain – would be indistinguishable from our motor. First, however we have to modify a little-bit our electrical model. We know now that the generator voltage depends on the speed (s) in the mechanical world, so we need to replace the constant voltage source with a controlled one:
接下来,我们会想出一个电路,如果你从外部的电气领域检查它,它将与我们的电机无法区分(简而言之,忽略内部细节)。首先,我们必须对我们电机的电路模型进行一些修改。我们现在知道发电机产生的电压取决于机械领域中的速度(转速),所以我们需要用一个可控的电压源来代替恒压源:
Now, on the mechanical side, we have a rotating mass and friction to consider. These ‘elements’ are on the same rotating shaft, so their rotational velocity – speed – must be identical. Each of them will exert a torque on the shaft as they are moving, but the relationship between the speed and the torque is different for each of the components.
现在,在机械领域方面,我们要考虑两个因素,旋转质量和摩擦力。这些“元件”位于同一个旋转轴上,因此它们的旋转速度——速率——必须相同。当它们运动时,会在轴上施加一个力矩。不过旋转质量产生的力矩与速度的关系不同于摩擦力产生的力矩与速度的关系。(Tm = F(S),Tf = G(S), F(S) != G(S))
6.Friction
摩擦力
For friction, the torque it constant, only its direction changes, depending on the rotation direction of the shaft. The torque introduced by friction is in the opposite direction to the rotation of the shaft: it acts against the motion, draining energy out of the system. In the following however we’re going to look at the components from the systems’ perspective. In that view, we need to ‘feed’ some torque into the component to compensate for its internal torque. The relationship between the speed and the torque (called the characteristic equation) can be described by the following equation:
摩擦力产生的扭矩是恒定的,只有它的方向会改变,摩擦力的方向取决于轴的旋转方向。摩擦力产生的扭矩与轴的旋转方向相反: 它从系统中吸取能量。下面我们将从系统的角度来看这些组件。从这个角度来看,我们需要“输入”一些扭矩,以补偿其内部消耗的扭矩。转速和转矩之间的关系(特征方程)可如下:
Tf = sign (s) * fm
其中 fm 是描述摩擦量的常数。
注意:sign()是取反符号
Now, if we assume that the motor shaft is rotating in the positive direction only, we can use the following simplified form:
现在,如果我们假设电机轴只是朝正方向旋转,我们可以使用以下简化形式:
Tf= fm (4)
Keep in mind though, that friction is a non-linear element, so as soon as we consider direction-changes, the first, more complex equation needs to be used.
但是要记住,摩擦力是一个非线性的因素,所以一旦我们考虑到方向的改变,第一个更复杂的方程(Tf = sign (s) * fm)就需要用到。
7.Mass
质量块
The rotating mass of the motor introduces a torque that’s proportional to angular acceleration, or the derivative of the speed. The mass accts against change: it’s torque will try to counteract acceleration, but just as above, I’ll leave the negative sign out because we’re investigating from the systems’ perspective.
电机旋转质量块(结合上下文,这里的意思就是飞轮)引入了一个与角加速度成正比的扭矩,角加速度也可以用速度的导数来表示。质量会引起变化: 它产生的扭矩会试图抵消加速度,但是就像上面一样,我会去掉负号,因为我们是从系统的角度来研究的。(实际上质量块产生的扭矩也是反向的)
TJ= Jm* (ds/dt) (5)
其中Jm是转动惯量。
8.Electrical Conversion
电力转换
Our goal is to find electrical components (resistors, capacitors, inductors etc.) that – from the electrical side – look just like these mechanical parts do. We have to answer two questions: what those components should be and how to connect them together?
我们的目标是使用电气元件(比如电阻,电容,电感等) ,从电气方面,他们看起来就像这些机械零件(寻找与机械系统类似特性的电器元件)。我们必须回答两个问题: 这些组件是什么?以及它们的连接方式是什么?
Let’s tackle topology first: as I said before, the two mechanical components share the same speed, and speed is related to voltage. From the conversion equations we know that torque is proportional to current and speed is proportional to voltage. So our mystery electrical components share a common voltage, but have their own independent current (the torque on the mechanical components is different). This means that the components must be connected in parallel:
让我们先来讨论拓扑: 正如我之前所说的,两个机械部件共享相同的速度,以及速度与电压相关。从转换方程式中我们知道扭矩与电流成正比(Tm = Kt*I),速度与电压成正比(Em = Ke*S)。因此,我们神秘的电子元件共享一个共同的电压,但有自己的独立电流(对机械元件的扭矩是不同的)。这表明着这些组件并连:
Now, let’s move on to the components themselves! Using again the conversion equations and putting them into the characteristic equations for the friction we get the following:
现在,让我们继续讨论组件本身!再次使用转换方程,并把它们放入摩擦力的特征方程,我们得到以下结果:
KT*If= fm (6)
由Tf = Kt*If,Tf = fm ,可得 Kt*I = fm
解得:
If= fm/ KT (*6)
Doing the same for the mass, we get this:
对质量块做同样的处理,我们得到这样的结果:
KT*IJ= Jm* (dVg/dt) * 1/KE (7)
由Tf = Kt*If,类推到Tj = Kt *Ij,而TJ= Jm* (ds/dt) ,从而Kt *Ij = Jm* (ds/dt),又Vg = Ke*S,
即ds/dt = (1/Ke)*d(Vg)/dt,于是Kt *Ij = Jm*(1/Ke)*d(Vg)/dt
解得:IJ= (Jm/(KE*KT)) * (dVg/dt) (*7)
For friction, we need an electrical component, that has the property that current through it is constant independent of the voltage applied to it. That component is a current source. Friction consequently can be represented by a current source, with a current of:
对于摩擦(If= fm/ KT),我们需要一个电子元件,它具有这样的特性,即通过它的电流,是恒定的,与施加在它上面的电压无关。这个组件是一个电流源。因此,摩擦力可以用电流源表示,电流为:
If= fm/ KT (*6)
Moving on to the mass, we need a component where the current is proportional to the derivative (or rate of change) of the voltage across it. That component is a capacitor: I = C * (dV/dt). So the inertia of the disc can be represented by a capacitor with a capacitance of:
关于质量块(IJ= (Jm/(KE*KT)) * (dVg/dt)),我们需要一个分量,其中电流与电压的导数成正比。这个组件应该是是一个电容器,因为电容的电流i = c * (dV/dt)。因此,圆盘的惯性可以用电容表示,其电容为:
C = Jm/(KE*KT) 即(Jm/(KE*KT))看作常量C
Our final equivalent electrical circuit is capacitor in parallel with a current source:
最后,这两个部分(摩擦和质量块)的等效电路是一个与电流源并联的电容器,如图:
This is the sub-circuit that we previously represented by a controlled voltage source. In fact, the source of that voltage is the energy stored in the rotating disc, which we represented here by a capacitor. If left alone, that energy is drained by friction, just as it is drained by the current source in the equivalent circuit: the motor would eventually stop, and the generator voltage would go down to 0. The complete equivalent motor model is this:
这是我们先前用受控电压源表示的子电路。事实上,电压的来源是储存在旋转圆盘中的能量(飞轮能够储存动能),我们用一个电容器来表示。如果不加干预,这些能量就会由于摩擦而流失,就像电流源在等效电路中流失一样: 马达最终会停止,发电机的电压会降到0。完整的等效电机模型是这样的:
9.A Practical Example: the R/C Car
一个实例: 遥控车
But just how useful this model is? To be honest not terribly, as you rarely use a motor without anything connected to it. Modeling the mechanical properties of just the motor is not that practical. Luckily, the same model can be used for a wide range of applications, for example for moving platforms.
但是这个模型到底有多多大用呢?老实说,不是特别有用,因为你很少使用不连接任何部件的电机。仅仅模拟电机的机械特性是不切实际的。好在,同样的模型还是可以广泛的应用,例如移动平台。
In this example, I’ll dust of my oldTumbleweed robot. It is based on aStampedeR/C car. A first-level mechanical model is fairly simple for this kind of platform: the motor through a number of gears, drives a wheel, which than moves the whole body.
在这个例子中,我将给我的旧Tumbleweed 机器人除尘。它是一辆Stampede遥控车。一级机械模型对于这种平台来说相当简单: 电机通过许多齿轮,驱动一个轮子,驱动这个轮子比移动整个身体要简单得多。
From the motors perspective, it looks as if it moves the whole weigh of the car as if it was spread around the circumference of the wheel. The gears can be simplified into a single gear-box with a ratio on ‘1:N’, and we can further assume that the inertia of the gears are negligible compared to the inertia of the other components. With this, we get to the following model:
从电机的角度来看,它看起来像是移动整个汽车的重量,所有质量分布在轮周。齿轮可以简化为一个减速比的为’1: n’ 的齿轮箱,我们可以进一步假设,相比于其他部件,齿轮的惯性是可以忽略不计的。由此,我们得到了以下模型:
Here, the motor is represented by our usual model of a lossy rotating disc (parameters with the ‘m’ suffix), and our load is represented by another lossy rotating disc of the same kind (parameters with the ‘w’ suffix).
在这里,电动机用有损耗的旋转圆盘模型(带有“ m”后缀的参数)来表示,我们的负载用另一个同类有损耗的旋转圆盘(带有“ w”后缀的参数)来表示。
The new component is the gear-box, so let’s talk about it first! Gears work as torque-speed-converters. They multiply the torque by ‘N’ and reduce the speed by a factor of ‘N’:
新的组件是齿轮箱,所以让我们先讨论它!齿轮作为扭矩-速度-转换器,它把扭矩变成n倍,把速度减少n倍:
Twheel = Tmotor*N (8)
Swheel =Smotor/N (9)
We have our previous equations for the torques ‘consumed’ by a disc and the draw from before:
我们有我们先前关于圆盘所消耗的力矩的公式和之前的推导:
T(dw)= fw(10)
实际上是Tf =fm ,摩擦产生的转矩假设与轴同向
T(jw)= Jw* (dSw/dt) (11)
实际上是T =J*α,大学物理,转矩 =角动量x角加速度
Putting sminto these equations we get:
在这些方程中加入Sm(电机速度),我们得到:
T(dw)= fw(12)
T(jw)= Jw/N * (dSm/dt) (13)
电机减速比使得Sw= (1/N)*Sm
Now, from the motors’ perspective, it only sees 1/N-th of this torque through the gear-box (remember, gear-boxes convert torque). So the torque of these components expressed on the motor-end of the gear-box are:
现在,从电机的角度来看,它只能从齿轮箱输出端得到1/n 的扭矩(齿轮箱放大了输出扭矩,因此反过来说电机只能得到减速箱输出扭矩的1/N)。因此,电机端使用减速箱部件表示的扭矩是:
T(dm)= 1/N *fw (14)
T(jm)= 1/N2* Jw* (dSm/dt) (15)
It looks like our components kept their properties, but their effect shrunk. So, now that we’ve eliminated the gear-box, we ended up with the following model:
看起来我们的组件保持了它们的特性,但是它们的效果却减弱了。因此,现在我们已经简化消去了齿轮箱,从而最终得到了以下模型(减速箱被抽象在了一个轮子上):
This can be further simplified, by combining the two discs and the two frictions into one of each:
这个模型可以进一步简化,将两个圆盘以及两个摩擦力合并在一个轮子上:
And now, we’re back to the previous model: a single disc and a single friction. We just have more complex equations for calculating the values. Of course this also means that the equivalent circuit will be identical as well, except that the values of the current-source and the capacitance are now a little more complex:
现在,我们回到以前的模型: 一个单一的圆盘和一个单一的摩擦力。我们目前的模型只是好友更复杂的公式来表示这些值而已(意思是模型没变,模型参数的表达变复杂了而已)。当然,这也意味着它们等效电路也是相同的,除了电流源和电容的表达式值现在有点复杂:
If= (fm+fw/N)/Kr(16)
If =T*Kt,T*r =F,从而If = (F/r)*Kt,Kr =Kt/r
C = (Jm+Jw/N2)/(Ke*Kt) (17)
IJ= (Jm/(KE*KT)) * (dVg/dt,C=(Jm/(KE*KT)),从而C = (Jm+Jw/N2)/(Ke*Kt)
A further simplification can be made as well: we can say that the inertia of the motor is negligible compared to the inertia of the whole body (even after the gear-conversion). That results in a further simplified capacitor model:
还可以作进一步的简化: 我们可以看到,电动机的惯性相对于整个机器人整体的惯性而言是可以忽略不计的(即使在齿轮转换之后)。这可以进一步简化电容器模型,从而电容值:
C = (Jw/N^2)/(KE*KT)
10.Getting to the numbers
得到这些参数
Models of course are only useful if you can actually model something with them. And in order to do so, we have to be able to come up with actual numbers of these letters. So let’s see how we can do that!
当然,建立的模型只有在你能够使用它们的情况下才是有价值的(这里的modle一个是名词一个是动词)。为了做到这一点,我们必须得到这些字母的实际数量。所以让我们看看我们怎么做!
My robot weighs about 2.3kg and it has a roughly 8cm wheel diameter. If we ignore the fact that some of the weigh comes from rotating components themselves, from the motors perspective, the robot looks like a 2.3kg mass distributed evenly around the circumference of this wheel. The inertia for such an object (a hoop) is m*r2. From that:
我的机器人重约2.3kg,轮子直径约8cm。如果我们忽略这样一个事实,即一些重量来自于转动的部件本身,对于电机而言,这个机器人看起来就像一个2.3公斤重的物体,均匀地分布在这个轮子的周围。这样一个物体(一个圈)的转动惯量是 m * r^2(大学物理圆环转动惯量公式j=MR^2)。由此可见:
Jw = 2.3kg*(4cm)2= 36.8 kg*cm2
The total gear-ratio between the motor and the wheel is around 19:1. I have aMabuchi RS-550PFmotor in this robot, which according to it’s datasheet has a KTof 4.418 mNm/A. With a little math (for details see the article onhow to read motor datasheets) we get KE= 4.726 mV/rad/s. Using these numbers, the equivalent capacitance is:
电动机和车轮之间的总齿轮比约为19:1。我有一个RS-550PF 马达驱动机器人,它的数据表里Kt值为4.418 mNm/A。通过一点数学运算(详见如何阅读电机数据表的文章) ,我们得到 KE = 4.726 mV/rad/s。使用这些数字,等效电容是:
C = 0.49F
计算过程, C = (Jw/N^2)/(KE*KT) = (36.8*100/(19*19))/(4.418*4.726)=0.488≈0.49F
That’s a lot of capacitance!
对于电容来说那是很大的值!
As for the current source, I did a little experiment. From the electrical equivalent we know that if we don’t connect anything to the wires of the motor, the only thing that drains energy out of the system is the current source that represents friction. So, if I start moving my little robot with the motor open, than let it free, its speed should decrease linearly until it comes to a halt. By measuring how long it took it to stop and how far it went I can calculate the friction that was in action.
至于电流源,我做了一个小实验。从等效电路中我们知道,如果我们不把任何元器件连接到电机的导线上(不构成回路),唯一能把能量从系统中消耗掉的就是代表摩擦力的电流源。所以,当电机开路时,我开始移动我的小机器人,然后让它自由运动,它的速度应该线性下降,直至停止。通过测量它停下来所花的时间,以及它走了多远,我可以计算出在运动中的摩擦力。
In my experiment, the robot travelled about 1m before it stopped, and it took about 1.5s to do so. The mass of the robot is 2.3kg. The total kinetic energy stored in the system in the beginning was:
在我的实验中,这个机器人在停下来之前行进了大约1米,并且花了大约1.5秒的时间。这个机器人的重量是2.3公斤。系统最初储存的总动能为:
E (0) = 2.3 kg * v (0) ,其中 v 表示速度
Let’s figure out the initial speed (v(0)) first: we know that the speed decreases linearly (the friction acts as a constant speed-independent force) to 0, and it took 1.5s (tt) to do so. During that time the car travelled 1m (l):
让我们首先计算出初始速度(v (0)) : 我们知道速度线性减小(摩擦力作为一个恒定的速度无关的力)到0,这需要1.5 s (t)。在此期间,汽车行驶了1米(I) ,如图所示:
The area of the triangle is the total distance travelled (l) while the height of it is v(0) and the base is the total time travelled (tt). From this:
三角形的面积是行走的总距离(l) ,高度为 v (0) ,底面是行走的总时间(t)。从这里可以看出:
l = 1/2*t*v(0)
三角形面积,1/2*底面积*高
解出 v (0) :
v(0) = 2*l / tt= 2*1m/1.5s = 1.33m/s
Putting v(0) back into the energy equation, we can figure out the initial kinetic energy, and from that we can calculate the force (the frictional force) that drains this energy in 1.5s:
把 v (0)放回到冲量方程(I =F*t = M*V)中,我们可以计算出初始动能,由此我们可以计算出1.5秒内消耗这个能量的力(摩擦力) :
Ffriction= E(0) /t=(M*V)/t =2.3kg * 1.33m/s / 1.5s = 2.044 kg*m/s2= 2.044 N
From the motors perspective, this friction acts at the radius of the wheel (4cm) so the corresponding frictional torque is:
从电机的角度来看,这种摩擦力作用于车轮的半径(4厘米) ,因此相应的摩擦力矩是:
fw= 2.044 N * 4 cm = 81.78 mNm.
If we ignore the friction in the motor, we can now calculate the equivalent current in the current source:
如果我们忽略电机中的摩擦,我们现在可以计算电流源中的等效电流:
If= (fw/N)/Kr= (81.78mNm / 19/4) / 4.418 mNm/A
Finally we get:
最后我们得到:
If= 0475A
详细见推导If =T*Kt,T*r =F,从而If = (F/r)*Kt,Kr =Kt/r,原文作者应该是写错了。
I’ve also taken an impedance meter and measured the internal resistance and inductance of the motor:
我还用了一个阻抗测量仪,测量了电机的内部电阻和电感:
Lm= 170 µH
Rm= 2.8 Ω
11.Conclusions
结论
At this point we finally have a complete model of the R/C car with values for each of the elements. Once again, to summarize, here’s the equivalent circuit for the whole car and the values for each component:
现在,我们终于有了一个完整的遥控汽车模型,其中每个元素都有相应的值。再一次,总结一下,这是我的玩具汽车的整个等效电路和每个部件的值:
C = 0.49F
If= 0.48A
Lm= 170 µH
Rm= 2.8 Ω
and if you want to go back and forth between the mechanical and electrical domain:
如果你想在机械和电子领域之间互相转换:
Kt= 4.418 mNm/A
Ke= 4.726 mV/rad/s
Let’s see now, what we can learn from these numbers!
让我们看看,我们能从这些数字中学到什么!
First of all, the Ifcurrent tells us that we need to pump ~0.5A into the motor just to keep the car running at a constant speed (on this particular flat surface anyway – friction is highly dependent on the surface and slope introduces another type of mechanical element we haven’t talked about).
首先,If电流告诉我们,我们需要泵入约0.5 A(这里看来0.48应该是计算的正确值)的电流,以保持汽车运动在恒定的速度上(无论如何,在这个特定的平面-摩擦始终保持一致,车轮始终紧贴地面,而坡度将引入另一种类型的机械元件,在此我们没有讨论)。
We can also start examining the circuit in the frequency domain. Keep in mind that in the frequency domain the current source has no effect. For starters let’s plot the current over the capacitor as a function of frequency, when the circuit is driven by a constant (amplitude) voltage:
我们也可以开始在频域检查我们的电路模型。需要强调的是,在频率域,等效于摩擦的电流源不起作用。首先,让我们把电容上的电流作为频率的函数作图,当电路由一个恒定(振幅)电压驱动时,频域内电容上的电流与频率的关系如下图所示:
译者实验结果:
Being a simple-enough circuit, it’s easy to calculate the parameters of this curve. The center-frequency (resonance) is at 1/(2π*sqrt(Lm*C)) = 17.5Hz, but the Q of the circuit (sqrt(Lm/C)/Rmis low, only 0.006. That’s why you see such a flat response around the resonance frequency. The lower cut-off frequency is determined by C and R and is at 0.11Hz, the higher cut-off frequency is determined by Lmand R and comes out at 2.6kHz.
这个电路很简单,我们能够很容易得出出这条曲线的参数。中心频率(谐振频率)为1/(2 * sqrt (Lm * c)) = 17.5 Hz,但电路的q 值 =(sqrt (Lm/C)/Rm)(谐振因子)较低,仅为0.006。这就是为什么你会在共振频率周围,看到这样一个平缓的响应。最低截止频率由 R和 C决定,为0.11 Hz,最高截止频率由 Lm 和R决定,为2.6 kHz。
译者:作者这里使用的是简化的RLC模型,之前讲过,与摩擦等效的电流源在频域不起作用,所以实际上这里计算用的模型是,中心频率不用讲,Q值表征谐振电路的选择性,影响幅频特性,带宽。
If you plot the voltage across the capacitor over frequency as well, you get the following plot:
如果你也把电容器上的电压画成频率图,你会得到下面的图(电容放电过程):
译者实验结果:
Not surprisingly, you get a low-pass characteristics, with the slope of the attenuation starting out at 20db/decade and increasing to 40db/decade after the 2.6Khz mark.
毫不奇怪,您得到了一个低通特性,频率衰减的斜率从20db/10倍频率开始,增加到40db/10倍频率后2.6千赫的标志。20 = 10*lg(10^2),所以衰减了100倍,20dB就是减100倍,30dB就是衰减1000倍,40dB就是衰减10000倍,50dB就是衰减10万倍,60dB就是衰减100万倍...
Now, remember that current is related to torque and voltage across the capacitor (Vg) is related to speed. What these plots tell us is that beyond 0.11Hz we don’t have too much hope to influence the speed of the motor. Two decades above that, at around 10Hz we might as well as forget about it: the speed will not budge. This is important when you try to design a speed control loop. It tells you what you’ve probably already known before: mechanical systems are slow to respond. What might be a little surprising is that the cut-off frequency is not entirely determined by the mechanical elements: it is a function of the inertia of the rotating mass (the capacitor) but also of the motors internal resistance (Rm). But if you think about it a little more, it’s not that hard to understand: a lower internal resistance motor will be able to influence the speed of load quicker.
现在,请记住,电流与扭矩有关,电容器上的电压(Vg)与速度有关。这些图告诉我们的是,超过0.11赫兹,我们没有太多的希望来影响电机的速度。再过,在10赫兹左右,我们最好还是忘了它: 速度不会改变。这是重要的,当你试图设计一个速度控制回路。它告诉你一个你可能已经知道的事实: 机械系统的反应很慢。可能有点令人惊讶的是,截止频率并不完全由机械元件决定: 它是旋转质量(电容器)的惯性的函数,也是电机内阻(Rm)的函数。但是如果你多想一想,这并不难理解: 一个较低的内部电阻电机将能够影响负载的速度更快。(读者应该记住的是,这里是整个机械系统的模型,也就是包含了齿轮箱,机器人本体的整体系统响应频率,结果并不意外,但是当我们控制纯电动机的时候,这些频率特性是不同的,当然,也不要和PWM驱动频率混淆,两者在这里没有什么关系).
Another thing that these charts tell you is (and this might sound counter-intuitive) that at DC you won’t be able to put any torque on the motor. At first that doesn’t seem right, is it? You definitely can load down a motor and get some torque out of it! Well, in fact you can do that, but we’re talking about something else here: can you change the torque of the motorwithoutchanging the load on it? It turns out you can’t, and if you think about it you’ll see why. Let’s say you try increasing the voltage applied to the motor in hopes that it will increase the current, thus the torque on the shaft. What will happen is that for a short while in deed the current will spike up, but the extra torque will be used tospeed upthe shaft. That speed-up in turn will increase the generator voltage and lower the current. By the time the transient is over, your current is back to where it used to be, only the speed of the shaft got higher. Of course there’s some DC current going into the motor as well to compensate the frictional losses – we’ve modeled that with the current source – but that’s not torque you can get out of the system.
另一件事,这些图表告诉你的是(这可能听起来违反常理) ,在直流电驱动时,你不能给电机施加任何扭矩。这听起来好像并不对,是吧?你肯定可以增加电机的负载,并从中得到一些扭矩!事实上你可以这样做,但我们在这里讨论的是另外一个问题: 你能在不改变外部负载的情况下,改变电机的转矩吗?事实证明你不能,如果你仔细想想,你就会明白为什么。比如说,当你尝试增加电机的电压,希望以此增加电流,从而增加轴上的扭矩。接下来会发生的事情是,在短时间内,电流会急剧上升,产生的额外的扭矩会被用来加速轴。这种加速反过来又会增加发电机的电压和降低电流。当过渡过程结束时,你的电流又回到了原来的位置,只是轴的速度变高了。当然,也有一些直流电流进入电机,以补偿摩擦损失,我们已经用电流源建模,但这不是你可以从整个系统中得到的扭矩。(电流与转矩相关,反电动势与转速有关,作者的意思是,在外部负载没有改变的情况下,增加电压只意味着提高了电机转速,实际上对电机的转矩没有影响,由于是串联,当C两端电压增大,意味着If也在增加,这是一个内部平衡的过程)
Internal loss is also the reason why you can put a DC current through a motor, when the shaft isn’t turning at all. In that case our kinetic friction gets replaced by another type of friction – static friction – that is consuming some torque. Its that static friction (or it’s electrical equivalent) that your can push some DC current through in a stationary motor. Static friction however is highly non-linear and in general nasty enough to model, that I left it out from this discussion.
内部损耗可以让我们在轴不转动的时候让直流电流通过电机。在这种情况下,我们的动摩擦被另一种类型的摩擦——静摩擦所代替——它消耗了一些扭矩。就是这种静摩擦力(或者等效的电力结构),是的我们能够在静止的电机中通过一些直流电流。然而,静态摩擦是高度非线性的,而且一般来说很难建模,所以我把它从这个讨论中剔除了。
Let’s now move on and consider the upper end of the frequency spectrum. One thing immediately should be obvious: beyond a 10Hz or so, the capacitor voltage (shaft speed) has so much attenuation that you can consider it constant. Since almost all PWM drivers operate beyond this frequency, they should not be concerned by the voltage (speed) fluctuations during a cycle. This is the explanation why we started off our motor model with a constant voltage source and this is why that’s a good-enough approximation for H-bridge design – not for speed-controller design though!
现在让我们继续来看看频谱的上端。有一件事是显而易见的: 超过10赫兹左右,电容器两端电压(与轴速度相关)衰减很严重,你可以认为它是一个常数。然而几乎所有的PWM驱动器的工作频率都超过了这个频率,所以在一个周期内,它们不会受到反电动势(与速度有关)波动的影响。(译者:低于10HZ的控制频率,输入电压将无法抵消反电动势带来的影响)这就是为什么我们用恒定电压源启动电机模型的原因,这也是为什么这对于H桥设计来说是一个足够好的近似模型,但对于速度控制器的设计却不是如此!
If we increase the PWM frequency beyond the second corner-frequency – 2.6kHz – the current will not be able to keep up with the voltage changes anymore. As you move into this region with the switching frequency, your current wave-form will look more and more like a triangle wave and the current amplitude (called ripple-current) will start decreasing dramatically.
如果我们增加 PWM 频率超过第二个拐角频率-2.6kHz-电流将不能跟上电压的变化了。伴随着开关频率达到这个范围时,你的电流波形将越来越像一个三角波,而电流的振幅(称为纹波电流)将开始急剧减小。(低通滤波特性使得超过2.6khz的电压信号急剧衰减,可以近似看成线性衰减)
If you look at what determines the second corner-frequency (Rmand Lm), you’ll see that it’s only determined by the motor parameters and is unaffected by the load. It is usually a good idea to set the PWM frequency beyond this cut-off frequency to reduce ripple-current – which translates into extra loss on the internal resistance. It’s good news that you can set this frequency without looking at the loading and the mechanical environment the motor is in.
如果你仔细研究是什么决定了第二个转折频率(Rm 和 Lm) ,你会发现它只是由电机本身参数决定的,并且不受轴端负载的影响。这对我们来说是件好事,将 PWM 频率设置在这个截止频率之上,以减少纹波电流,因为纹波电流转化为内部电阻的额外损耗。这是一个好消息,你可以设置这个频率,而不看负载和电机所处的机械环境。
Finally, let’s talk a little bit about another interesting – but at first unexpected – observation. At first sight it might seem that the internal resistance of the motor is a nuisance, that we have to live with: the lower the better, since it only creates loss, and heat. But if you look back to our circuit (a series RLC), you’ll see that if you reduce R too much, you will create a resonance. As an example, if I replace my resistor with a 10mΩ one, my frequency response curves change quite a bit:
最后,让我们来谈谈另一个有趣的——但是在开始的时候没有预料到的观察。乍看之下,发动机的内阻似乎是一个令人讨厌的东西,然而我们不得不接受它,希望它越低越好,因为它只会造成能量损失和产生热量。但是如果你回过头来看看我们的电路模型(一个 RLC 串联) ,你会看到,如果R太小,将会引起共振(简单理解为长时间上下波动)。举个例子,如果我把电阻器换成10mΩ ,我的频率响应曲线会有很大的变化,如下面两幅图:
What does that mean? It means that at our resonance frequency (17.5Hz) the motor inductor and the rotating mass will start resonating. If we have input into the system at or around that frequency, the energy will hang around in the system for a long time, creating unwanted vibrations. Those vibrations can affect mechanical accuracy, shorten component life or even threaten the integrity of the system.
这是什么意思?这意味着在我们的共振频率(17.5Hz)附近 ,电机的电感和旋转质量将开始共振。如果我们以这个频率或相近频率输入系统,能量会在系统中停留很长时间,产生不必要的振动。这些振动会影响机械精度,缩短部件寿命,甚至威胁系统的完整性。
参考文献 【1】杨晓雷. 串联谐振电路Q值的计算与意义[J]. 物理通报, , 40(010):11-15.
下载资源
1.仿真文件(Multisim14.0):/download/BadBoyHolly/12628326