我正在尝试学习伺服控制。我已经看到,最通用的伺服位置控制方法是PID,控制输入是位置误差。但是,我不确定启动量是多少。我猜这是以下情况之一:


施加到电动机上的电压
施加到电动机上的电流

然后我猜到被驱动量变成以下其中一项:


电机施加的扭矩
电机运行的角速度

我无法动手操作并明确控制物理伺服器,因此我无法确认驱动量是否为其中的任何一个。我对控制电机的电子设备知之甚少。对于不同的系列伺服器,很可能控制量是不同的。

我的赌注是扭矩控制。但是,假设伺服机构保持一定距离的重量(因此它是抵抗重力作用的),这意味着转矩负载大约恒定。在这种情况下,如果位置误差为零且伺服系统处于静止状态,则P,I和D分量均为零,这意味着施加的转矩为零。这将导致重量下降,这是由于其位置误差导致P,I分量增加而抵消的。这种情况会不会导致举起的重量在与目标位置明显不同的恒定位置摆动和平衡?我见过举重的伺服器视频并非如此。还是这种情况,摩擦正在使一切平滑?请帮助我理解。

#1 楼

电动机控制器

驱动量是多少

是的,在最简单的情况下,控制电子设备的输出和电动机的输入-直流永磁电动机- -是施加到电动机的电压。

在其他情况下,控制电子设备的输出是直接施加到电动机或间接施加到电动机的“信号”线的PWM电压的占空比。无线电控制伺服器。
它们的工作方式略有不同。

在其他情况下,许多人使用步进电动机控制位置。
它们的工作方式与直流永磁电动机非常不同。

电动机

驱动量变成

当电动机非常慢或停止时,您对“转矩控制”的建议大致正确。 />
电动机通过“发电机作用”产生的所谓“反电动势”与其角速度成正比。
这种反电动势使电动机可用作发电机,例如少数使用的电动机/发电机汽车和几辆汽车中使用的再生断路。
(反电动势的一部分是由绕组的“自感”引起的,但是该部分通常可以忽略不计,因此我将不再赘述-您提到的文章有很好的解释。)

在任何时候,电动机中的电流都与施加的电压减去反电动势成正比。
同时,

因此,在低速下,电动机产生的机械转矩与施加的电压成比例。
在高正速下,电动机产生的转矩与电流成正比。最大正电压较小; “最大速度”通常定义为最大正电压给出零转矩的速度。

PID

假设伺服系统保持一定距离的重量(因此它是抵抗重力作用的),这意味着转矩负载大致恒定。在这种情况下,如果位置误差为零且伺服系统处于静止状态,则P,I和D分量均为零,这意味着施加的转矩为零。这将导致重量下降,这是由于其位置误差导致P,I分量增加而抵消的。这种情况难道不会导致举起的重量在与目标位置明显不同的恒定位置摆动和平衡吗?

有2种不同的情况:在重负载后立即处于短期状态

请告诉告诉您的人,“如果位置误差为零且伺服器处于静止状态,则I组件为零”以尝试使用PID控制器,或多读一些有关控制系统(a,b,c,d,e)或两者兼有的内容,以填补关于I组件的知识的空白。一个PID控制器。

I分量几乎为零的PID

在短期内,P,I和D分量的起始近似为零,
因此所施加的扭矩大约为零。
当弗雷德突然施加重负载时,没有足够的扭矩将其保持在适当的位置,因此它下沉了。
位置的误差导致P, I分量增加。
如果假设有一个控制器,其中I分量被完全忽略,
则臂会像您提到的那样固定在某个恒定位置。
稳定在控制器提供的电压(与P成正比,位置误差)正好足以支撑重量的位置。

I分量很大的PID

但是,使用您提到的PID控制器,只要有任何错误,I分量就会增加。
最终将积累足够的I分量,控制器将增加足够的电压来支撑重量,将重量推回零误差点。
重量是否超调取决于重量PID控制器已调整,但是只要P,I,D分量在接近合理值的任何位置,PID控制器最终都会稳定在以下状态:


机械臂在几乎准确的目标位置处保持稳定(误差几乎为零)
,因此P和D分量实际上为零
I分量不为零-它仍然具有一些较大的值,该值先前在臂低于所需位置。
控制电子装置(因为I分量不为零)以一定的电压驱动电动机
电动机将电压转换为一定的转矩,从而将重量保持在目标位置。

许多机器人控制系统都足够快,以至于它们在十分之一秒内收敛到此最终状态。

当弗雷德(那个恶作剧!)放开手臂的重量时,
即使手臂已经在目标位置,
高的累积I分量会导致手臂弹出。
这个小错误会导致累积的I分量流失,
(希望很快),手臂会几乎完全回到目标位置(误差几乎为零)。

评论


$ \ begingroup $
很好的回答大卫,我认为值得一提的是,这个问题中的一个重要错误是,如果有力(例如重力)将轴推离所需位置,则伺服器将无法静止。您继续很好地解释了具体细节,但是明确指出这一点可能会帮助您提出要点。
$ \ endgroup $
– Mark Booth♦
13年3月19日在1:10

#2 楼

我想说,您的直觉是正确的,但您的问题实际上有点过头了。所控制的变量确实是位置。您想知道的是哪个变量被致动,也就是说,我们用什么来控制位置。

我对伺服电动机的内部知识了解不多,但是当执行直流电动机的PID控制时通过脉宽调制施加到电动机上的电压是很常见的。

关于问题的第二部分,您看到的部分内容可能是由于齿轮或仅仅是对齿轮的适当调整造成的。控制器,但是如果不看您提到的视频,我就不能多说。

如果您想了解更多有关角速度,扭矩等相互作用的信息,则应查找直流电动机模型,这是伺服器的组成部分之一。这样,您会发现通常会假设角速度与电枢电流及其他因素成正比,并且了解您提到的白皮书中的蓝色框如何表示电动机。

评论


$ \ begingroup $
谢谢,这解释了我的问题的一部分。我还将“受控”一词更新为“执行”。这更适合我的问题。
$ \ endgroup $
– AyberkÖzgür
13年10月10日在9:08

$ \ begingroup $
感谢您提出有关查找直流电动机型号的建议。在我所见过的一篇论文中(inf.fu-berlin.de/lehre/SS05/Robotik/motors.pdf),有人说施加到电机上的电压$ E $与它的角速度$ w $成正比。向其施加PWM信号应产生RMS电压电平,具体取决于其占空比。因此,我们实际上是在控制电动机的角速度,只要它在转矩与角速度曲线上的相关转矩足以抵消我们正在驱动的负载即可。
$ \ endgroup $
– AyberkÖzgür
13年10月10日在17:43

$ \ begingroup $
调节占空比(电压)是控制伺服器的最简单方法,但是有许多更好的控制伺服器的方法。例如,在磁通矢量控制中,还控制磁场的方向,这需要控制流过每个相的电流。 zh.wikipedia.org/wiki/Vector_control_(马达)
$ \ endgroup $
–user65
2013年3月14日5:52



#3 楼

抱歉,如果迟到了:

如果您谈论的是RC风格的伺服器,那么对电机的实际驱动将采用脉冲宽度调制电压的形式:伺服放大器只会完全打开电机在一个方向或另一个方向上,持续的时间长度取决于测量位置与目标位置之间的差异,该差异取决于传入脉冲的宽度。

更新的“数字伺服器-我不敢保证它们的内部工作原理,但是几乎可以肯定的是,电机驱动器是某种类型的PWM,其速度比老式模拟伺服放大器要快。除了RC伺服器内部几乎没有宝贵的空间外,没有理由无法进行以下描述,因此很有可能没有进行电流测量,因此微处理器控制的参数是PWM占空比。

如何控制工业伺服机构是一个更广泛的答案:基本上,它可以以设计人员认为合适的任何方式发生。电机驱动可以通过配置为驱动电流或电压的线性放大器进行,也可以通过开关放大器(即PWM)进行。对于开关放大器,放大器本身可以是模拟的,并且可以配置为恒定电流,恒定电压或恒定占空比。

通常,在带有电刷或无刷电机的“专业”伺服机构中,会有一个内环来伺服电机电流(并由此来转矩)。这并不能提供任何控制上的重大优势,因为它极大地简化了对电动机的电流限制,如果要将所有昂贵的烟雾保留在其所属的电动机内,则这是必需的。内部电流(以及由此产生的转矩)回路通常会被一个速度回路所包裹,该速度回路可检测电动机轴的速度或从电动机的反电动势中推断出电动机的速度(如果有必要,则可提供一种方便的方法来限制电动机的速度这是必要的)。最后,速度环由位置环包裹。