位置传感器的应用原理一(霍尔、编码器、旋转变压器)

2019-10-10
关注

发帖内容

本文讨论的内容有以下几个方面:

1.电机驱动器上的编码器和霍尔是如何一起使用的?

2.关于光电编码器和旋转变压器应用

论坛回复

第一个问题“电机驱动器上的编码器和霍尔是如何一起使用的?”讨论如下:

1  rengrangan

小弟才疏学浅,做无刷电机驱动做了有大半年时间了,有个问题想请教一下大家。就据我所知,一般来讲,无论是霍尔还是编码器,他们的作用都是用来确定电机转子位置,进而获得电角度,转速等信息的,不管是通过哪一种方式,获得的信息都可以直接使用,但是我看到一些比较成熟的伺服驱动器产品上,经常会有同时使用编码器和霍尔的情况,我想知道这两种方式他们是如何一起协同工作的?因为我觉得无论用哪一种,只要编码器线数足够高,或者说电机极对数够高,这两种方式所测得的数据都是比较准确的,所以我想知道那些比较成熟的驱动器产品上,他们是如何同时使用这两种传感器的

2老顽童

他们的功能是不同的。编码器读头检测的是A/B信号;霍尔一般检测的是U/V/W或者Z信号,各有各的用途

3 rengrangan

    回复2 老顽童

    你好,编码器和霍尔不都是拿来测转速以及位置的嘛 他们是怎么配合使用的呢?

4老顽童

回复3 rengrangan

关于这个问题我也很难给你说得清楚,不过可以给你提两点建议:

1、首先了解驱动器的工作原理,要想把一台电机控制好他至少需要哪些条件(比如:运转方向、运转速度、怎么换向等等)?这些条件由谁来提供?——(针对你的问题)当然是编码器来提供完成。

2、其次是根据驱动器需要的"条件",去了解编码器的工作原理,找需要的”条件“!
论坛里面都有这些方面的资料,好好找一找、看一看,祝你早日解决疑惑!

5 EMotorMan

我的理解是这样的,电机的Hall信号和编码器信号的作用是不一样的,电机里面的Hall信号在安装的时候是有定位要求的,可以理解为绝对位置探测器,当然通常电机里面会安装3个Hall传感器,他的定位精度肯定没有编码器高;编码器的主要问题是编码器通常不能从编码器的脉冲数直接得到转子的位置,每次驱动器上电后必须有个初始化校准的过程,才能后续计算出转子的位置,但是从驱动器的角度讲,当驱动器厂家把驱动器提供给客户使用时,并不知道客户会如何安装编码器,因此只使用编码器作为位置探测必然涉及到一个上电初始化校准的问题,商业驱动器一般hall信号、编码器都使用,是考虑到如果编码器脉冲掉了或者受到信号干扰,可以使用hall信号进行校正,因为hall信号是绝对准确的(如果hall信号不准确,那是电机设计有问题);最后,如果用方波控制发驱动电机,只需要Hall,不需要编码器;FOC控制时,只使用Hall信号,商业驱动器可以通过hall信号估算模拟一个正弦波驱动,但那个是估算模拟的,并不十分准确,尤其在速度不稳定的情况;只使用编码器,上电需要初始化校准,编码器脉冲不能掉,如果掉了或者增多,那么驱动器运行时间一长,计算的转子位置就偏的很厉害啦;同时使用两者,则非常安全,即使编码器脉冲偶尔有掉了之类的现象,可以通过hall信号判断纠正过来;最后说一下,上面说的编码器校准是转子的绝对位置校准,有一种ABZ信号输出的编码器,Z信号是编码器的绝对零点,但它不一定是转子的绝对零点,所以仍然需要校准,有Z信号的编码器安全机制更高一些(需要配合软件)

第二个问题“关于光电编码器和旋转变压器应用”讨论如下:

6  shanhua

通过最近的了解,我发现光电编码器精度是比旋变精度高的,但是在高精度应用环境中为什么大部分都用的是旋转变压器类呢?是什么原因不用高精度光电编码器。抛开价格原因,是什么阻止了光电编码器的应用?

7 cne53102

光电编码器会对灰尘很敏感,进一点油污或灰尘就会出问题。

线数越高的光电编码器就越脆弱,有些码盘还是玻璃的,可能会碎,而旋变可靠性就高一些。旋变不一定分辨率比光电的低,光电的是多少线就多少线,这个定死了,而旋变是正弦信号的,它的分辨率完全看电路部分,ADC分辨率高,它就高,而且为了追求速度,可以动态的调整分辨率,在成本不变的情况下牺牲一些精度以达到更高的响应速度。

如果以牺牲速度为代价获取精度的话,旋变的分辨率可以轻松超越光电编码器

8 Edwin_Sun

按照我的经验,高精度伺服领域 光电编码器的应用是很普遍的,现在我知道的高一些的可以达到32bit,常见23bit左右,主要问题是温升和抗震性吧

旋变对制造工艺要求很高,但可以承受的温升和振动较大,现常用于电动汽车上,其它低端的伺服也有些应用,常见的精度如多摩川的配合其自己的R2D之后一般在10bit到16bit,再高的我没见过。

9  shanhua

回复  7 cne53102

谢谢你的回答。

其实也就是说,在电机振动比较小的情况下。可靠性是阻止光电编码器在高精度场合的应用主要原因。

你说的倒提醒我了,我对旋变有一点不理解的是速度跟旋变的精度有什么关系?

10  shanhua

回复  8 Edwin_Sun

谢谢你的回答。

我可以理解为位数Bit即决定了精度?

我还有一个问题是关于旋变文献中提到双通道旋转变压器精度很高,用于航空航天等等场合。既然光电可以做这么高为什么不用光电而用旋变呢?

11 cne53102

回复  9 shanhua

最主要的区别在于可靠性,至于精度,其实大多数地方用不到那么高的精度。

光电编码器的精度受限于码盘,速度受限于光电元件。

旋变精度受限于其自身结构和电子器件的精度。旋变的话信号是正弦的,读它就像示波器那样,所以你电路给力的话,分辨率和速度都可以高。

电路是可变的,我可以在低速时使用24位对它的信号采样,这样分辨率非常高,但是一般的分辨率ADC速度较慢。如需要高速,又不想成本太高,那可以用8位的ADC,这样采样速度飞快。实现动态的变位数也是可以的,高速模式用低分辨率的,低速模式用高分辨率的。位数决定分辨率,而不是精度。精度与分辨率是不一样的。像24位的,可以表达2^24次方,16777216个位置,这是不是比光电高得多呢?航空航天场合很重要,总不能码盘上落个灰,飞机就掉下来吧?旋变的话不会的。

12  Edwin_Sun

回复11  cne53102

老大,不管光电编码器还是旋变,用的时候一般都有壳子的,都有防护等级要求的,到IP68两者都是没问题的。。。什么叫落灰。。。

市面上常用的就是多摩川的旋变,精度一般在12位,不知道兄台能否推荐个厂家的旋变+RDC芯片能达到你算的24位精度?我可以联系下厂家,这个我们产品里用的蛮多的。

低精度8位的AD,没用过,采过来要算两个乘法,再做比较,不知道里面的积累误差多少。。。兄台有没有和12位的AD比较过误差?

13  Edwin_Sun

回复10 shanhua

位数决定了精度

你看的文献是南航写的吧。。。南航的特点就是什么什么电机,适合用于航空航天;什么什么电力电子,适用于航空航天;什么什么控制,适用于航空航天。。。

14  cne53102

回复  12  Edwin_Sun

不要依赖那个壳子,有些场合出了问题就惨了,旋变本身是抗污的,编码器不是,落灰指的是码盘。

达不到24位的精度,位数决定分辨率,而不是精度。精度与分辨率是不一样的。旋变本身精度是多少,你最高也就只可能达到多少。这就像一把分辨率0.02的卡尺,误差±0.1一样,这是两回事。8位AD确实会导致整体误差增大,这是为了获取更高速度的代价,此时追求的是速度,精度是不考虑的,鱼和熊掌不可兼得呀(受限的情况下)。

15  baton400

光电编码器除了码盘里面还有一些芯片处理信号的,所以耐高低温性能差,一般也就-20度---90度或110度,航空航天的话轻松就零下60了,零上150度貌似也有可能,所以光电编码器就不行了。旋变比较抗造。

16  Edwin_Sun

回复  11 cne53102

不知道兄弟对旋变解码器里面一个参数settling time有没有研究?这个对实际系统有什么影响?感觉这个时间会限制你的最高转速,不知道对不对?

17  cne53102

回复16  Edwin_Sun

ADI对在其旋变解码器即RDC中“settlingtime”“建立时间”或“稳定时间”的定义是:特定分辨率下针对179°步进变化(阶跃)的转换器响应时间。

另外,在系统启动或重启时,输出位置也需要一段建立时间,是不能立即得到位置信息的。

我认为可以简单理解为一个延迟,或者是解码器的响应速度,是评价解码器性能的一个参数。这个参数会影响最高转速,但实际上限制最高转速的应该是解码器中跟踪环路的性能。我的理解是,有点延迟不要紧,也许还可以通过软件修正,但位置跟丢了,那完蛋了。

解码芯片的速度还是很快的,就一般的应用范围内而言,应该不至于受到这一参数的限制。

18  Edwin_Sun

回复17  cne53102

那一个settlingtime 5ms的RDC,加上一个1对极的旋变,最高转速可以理解为必须小于0.5r/5ms=100rps=6000rpm么?或者超过6000rpm,延迟会很大,必须做补偿?有点搞不明白啊,书本里讲的也比较少。

19 cne53102

回复18  Edwin_Sun

仅个人理解,没有做过这样的实验。

我的理解是,在那个5ms内,位置变化超出一个(应该说半个?)“周期”的话,会丢失位置,如果没超过的话,最终停下来的位置是正确的,但在这之前,它在到达我们期望位置的路上是没有精度可言的。

如果说补偿,也只能是在很有限的情况下进行补偿,或者说是根据速度在旋变没有报告正确位置之前猜测此时的位置。

说“很有限”是因为这个解码器它不是模拟电路,它数字电路是有时钟的,所以不只是延迟的问题,它看不到过快的变化。

过快的拉动(大幅度敲动)数显游标卡尺可以很方便的看到类似的问题,它跟踪的位置丢失之后,输出的数据总是错开一个或多个栅距。

所以我认为要提高速度,就要牺牲分辨率,或者说,在高速情况下牺牲分辨率,而这样的设计,就不能使用已有的那些RDC芯片,多个ADC+FPGA或CPLD应该是个好选择,之前本要做这个东西的,但现在卡在电机本体设计上,这个一直放置着没有搞。

20  Edwin_Sun

回复19  cne53102

我们关于settlingtime的理解差不多,只是我要说服别人,就需要拿出一些专业的文章或者书籍里的东西,特别是一些实测数据,暂时还没找到呢。

多摩川的专利里,与你的想法相同,也是速度与分别率是相左的,速度高了,分辨率就要下来。

21 盛茂

光电编码器在伺服电机行业很广的。旋转变压器也有应用,比如ABB伺服。确实光电弱些,很多恶劣场合还是用旋转变压器;但也得看电机整体防护等级。

22  sunday_qh

请问各位大侠:
永磁同步电机转子初始位置与光电编码器Z脉冲是否有对应的关系?
由于永磁同步电机转子的初始位置在启动前不能确定,所以无法实现定子电流矢量的定位,这样直接启动会存在启动抖动与失步问题。
如果检测到光电编码器Z脉冲输出后是否就意味着:转子的初始位置为0了呢?这样说的话,在安装光电编码器的时候就要把转子的初始位置与光电编码器的Z脉冲位置保持对应。不知道我的理解对不对,望高手指点。

23  leebai2006

编码器的Z脉冲值与转子电角度没有必然联系。这本来就是两个东西,编码器安装在转子的转轴上,编码器的零点(Z的上升沿)与转子的电角度零点是随机的,也就是说Z的上升沿时刻可以在转子电角度(θe)0~360之间,现定义该值θz。 θz的物理含义是:Z脉冲的上升沿距离转子电角度零点的差值。该差值是物理存在的,在矢量控制之前必须要学到。

回归到永磁同步电机的矢量控制上,ID=0的控制方式需要转子电角度。Z脉冲的作用是用来校当前电角度值的,即Z脉冲上升沿来时,需要把对应的电角度值θe=θz.

24  sunday_qh

谢谢leebai2006的回答:
继续追问一下:
你的意思是不是:光电编码器在安装完成后θz的值就确定了,在安装之前该值是未知的,是随机的,其实这个值就是转子的初始位置,在矢量控制之前就是需要知道这个值的大小。
继续请教一下:θz值的是否就是根据光电编码器输出的UVW相每时刻对应的编码关系确定的呢?以及怎么确定呢?希望再次得到你的观点。非常感谢!

25  leebai2006

编码器一旦安装完成,θz为所控制电机固有的,在矢量控制时,校正零点用。

光知道这个θz还不可以,因为上电时转子的位置是随机的,可能离Z脉冲的上升沿还很远。不知道当前的转子位置无法进行闭环矢量控制,教科书式的方法是采用先开环运行,将电机直流定位到电角度为0的位置,然后再闭环运行系统,当系统运行到Z来时刻,将θe=θz。

对于采用带U,V,W磁极信号的编码器来说,引入一个与电机磁极对数有关的位置信号。这有个好处是,采用这个编码器能够把一个电角度周期分成6个区间。当系统上电时,检测U,V,W三相的状态能够知道当前在哪个区间(0~5),从而得到θe=θz+n*60+30.

看看编码器的数据手册会发现Z的上升沿与U的上升沿有点小偏差,基本一致,每隔极对数个数后,Z的上升沿都会基本和U的上升沿一致,就这么点关系。

学习θz的方法很简单了,找到Z上升沿发生时刻的那个电角度周期,计算一下Z上升沿距离该电角度起点的角度即可。

26  sunday_qh

请教一下leebai:

两个零点的关系,你在前面提到过,这两个零点是随机的,编码器的零点就是Z脉冲的上升沿,但是转子磁极的零点在哪里呢,是怎样定义的呢?谢谢

27  xiaolinfa1987

回复   25  leebai2006

当系统上电时,检测U,V,W三相的状态能够知道当前在哪个区间(0~5),从而得到θe=θz+n*60+30.

请教一下,这个公式的30怎么理解?

28  leebai2006

to:sunday_qh转子磁极的零点位置与极对数有关,通俗点讲,有多少极对数就有多少电角度零点。
以10对极电机为例,转子磁极位置形象点描述:N|S||N|S||N|S||N|S||N|S||N|S||N|S||N|S||N|S||N|S||构成环形。每个||都是一个零点位置。
 to:xiaolinfa1987
由于U,V,W只能分辨60度,以0区间为例,电角度表示范围在0~60度之间,取其中间值30度代表当前位置。

29   yunqian09

回复  28  leebai2006
我觉得 9L(26  sunday_qh) 的意思是,如何直观的通过表面现象,观察到0点的位置。

30  shushanming0501

回复  23  leebai2006

当Z信号来的时候,θz是直接赋给θe,还是其他什么方法,请介绍下。

31   leebai2006

对于带U,V,W信号的增量式编码器,首次上电,存在最大30度的误差。
情况1:首次来Z时,需要校验当前的|θe-θz|<=30+△θ(考虑到实际情况,适当放宽)度范围。
情况2:以后来Z时,校验当前的θmin<=|θe-θz|<=θmax。当小于θmin,不更新θe,θe本身就已经很准确了;当大于θmax,θe与θz偏差过大,停机报故障;大于θmin,小于θmax,直接利用θe=θz。
θmin与θmax,参考实际使用的情况可适当增大或减小。 当θmax>30+△θ度,可以将情况1和情况2统一起来。

32  shushanming0501

那只有A,B,Z信号的增量式编码器怎么进行磁极位置定位,初始位置定位?

33   leebai2006

不带U,V,W的增量编码器,通过编码器本身不能获取转子初始位置,只能通过间接的手段。
方式1:如果电机可开环运行,直流定位到0电角度,然后在切到闭环上,很多参考书上都有类似的控制。
方式2:研究永磁同步电机转子初始位置的学习算法,利用永磁电机转子的磁场和空间矢量旋转磁场的耦合效应,学出转子位置。算法比较复杂,实现起来有难度。类似文献,可以去百度一下。

34   zdc1122

电机在每个点角度为0的时候有次咚咚的声音,有谁知道什么原因不,谢谢

35   交响曲

回复  23  leebai2006

困惑已久的问题:
1.通过UVW信号获得转子所在的扇区,通过公式θe=θz+n*60+30.就可以知道转子的初始电角度了?  
 2.那么编码器的A,B,Z信号有什么用,通过怎么样的处理来获得转子转过的角度?
 3.通过对A,B,Z信号的处理获得的是转子相对位置吗?(即相对与于转子初始位置的角度)?
 4.转子的最终的绝对位置是转子初始位置加上相对位置吗

36   leebai2006

TO22楼(34   zdc1122):
电机每次过0时,都有电流噪声。
可能存在2个问题:
1.需要检测电机控制的电角度值,是否有多点更新,也就是说,你的系统里更新电角度的源可能不只一个。正常情况下,系统上电后,通过U,V,W更新一次电角度后,每个载波周期更新一次电角度值,等到Z脉冲来时修正一次电角度,此外不能在任何其他地方更改。多点更新,且更新电角度幅度大,会造成电角度与真实转子角度误差过大,直接影响矢量控制中PARK和反PARK变换,造成电流解耦异常。
2.检测编码器过零时,速度反馈是否异常。如果测速程序与电角度关联的话,需要考虑Z脉冲更新时,电角度被强制赋值后,是否影响到速度计算。如果测速采用的是两次电角度差值的方法,由于Z来时,强行修正电角度,造成电角度不连续,会对测速造成影响。
TO 23楼(35   交响曲):
问题1:你需要理解编码器的Z信号的原点和电机电角度原点的关系。
问题2:A,B是正交信号,正交信号可以获取方向和位置计数器,在等间隔时间内的位置变化,就是速度。Z脉冲会在每个机械周期来1次,用来校正一个周期内,编码器的线数是否是固定值,主要是处理A,B信号受到干扰或低频时,边沿抖动,造成位置计数器计数出错,可以通过Z脉冲进行校正。
问题3:在系统每次上电时,由于电机还没有运行,并没有A,B脉冲信号,也没法计数,如果电机还想转,只能通过U,V,W信号估算一下当前的大概位置,具体估算方法,建议看我以前的回复,不复杂,但需要明白原理。电机启动后,有A,B脉冲,这样就能在原估算的角度基础上加入A,B脉冲生成的角度,从而可以实时获取电机的角度值,当Z脉冲来到时,将当前电角度值强制更新到真实值,至此,才正确的获取了电机的准确位置。
问题4:矢量控制要的是转子的电角度,通过编码器获取的是编码器的计数值,二者本来是两个东西,为了控制需要,还需要把二者联系起来。当编码器固定在电机转子轴上后,编码器的位置计数和转子的位置就有了关联。电机的转子轴与编码器的轴同步转动,二者方向相同,角速度相同,通过编码器的位置计数器值也能反映转子的电角度值,只是二者虽然本质都是角度,但起始角度并不相同,有个差值,需要补偿。

37   沙葱

你好,我做PMSM控制时,也出现了类似的问题,电机初始定位后,转速闭环启动时转两三圈就停了,或者开始来回正反转,这是偏移角不对的原因吗?

还想请教一下,编码器安装好以后每次都是在固定的位置发脉冲吗?还是必须转够一圈才发?实验中遇到第一圈检测不到脉冲的问题,是不是编码器的问题?@leebai2006

38   leebai2006

TO 28楼(37   沙葱):
如果你是刚调试永磁同步电机,对于速度环和电流环的PI参数都没有调试经验,建议你先进行开环运行。电机空载,加10%的额定电压,先直流定位到0度,开环旋转电机,观察电角度和速度值,不必进行电机Z信号校正,验证角度和速度正常后,在考虑调试电流环和速度环参数,闭环运行不仅仅只是角度问题。

39   elovechy

大神,我做永磁同步电机DSP2812矢量控制,但是现在电机一直答答响,不进入高速运转,临近毕业,实在是没有解决的办法,能帮我看下我的程序吗,必有重谢!@leebai2006

40   leebai2006

TO 30楼(39   elovechy):
请参照TI提供的永磁同步电机矢量控制例程,注意模拟量定标,电机及编码器基本参数,空载运行,应该问题不大。

41   shxsxlh

你好@leebai2006,这句话我不太明白,“当系统上电时,检测U,V,W三相的状态能够知道当前在哪个区间(0~5),从而得到θe=θz+n*60+30”,

我的理解是当系统上电时,转子电角度应该是θe=n*60+30,θz是当转子转起来后,z信号上升沿到来时,当前的转子电角度校正为θz。

我画了一幅图,请惠阅。图中的u信号上升沿对齐到转子 -30°电角度位置,即u信号上升沿与转子线电压由负到正过零点对齐。

由电机控制专家王松教授主讲的“电机原理与现代控制技术”研修班11月16日上海站报名火热开启!扫描(长按识别)下方二维码报名或了解培训详情

更多最新精彩文章详见(点击进入):

《西莫电机技术》2019年第2期重磅发布!西莫电子期刊编辑部荣誉出品!

西莫电子期刊第18期热门阅读推荐:

论坛精华

油冷电机方案解析

在线研讨

铸铜转子的工艺特点与典型应用

JMAG V18.0在电机设计仿真中的新功能介绍

2019 Maxwell最新功能在电机设计仿真中的应用(上)

2019 Maxwell最新功能在电机设计仿真中的应用(下)

车用永磁同步电机控制-故障矩阵

名家讲坛

高速电机转子冲片的强度设计(三)——考虑过盈配合与离心力的计算方法

基于Caspoc电动汽车双驱动系统研究

基于ANSYS 18.2对三根母排模型的电磁、热、结构多物理场耦合分析

Magneforce参数优化功能

ANSYS Maxwell变压器短路电动力仿真

永磁同步电机谐波损耗计算

FluxMotor永磁同步电机分析使用技巧(二)多参数多目标快速优化设计(上)

FluxMotor永磁同步电机分析使用技巧(二)多参数多目标快速优化设计(下)

版主视角

永磁电机(十)

NVH那些事(一)

NVH那些事(二)

NVH那些事(三)

企业访谈

衡水科特——铸铜转子绿色环保先行者


点击阅读原文,直达期刊发售地址!

觉得好看,请点这里↓

您觉得本篇内容如何
评分

评论

您需要登录才可以回复|注册

提交评论

提取码
复制提取码
点击跳转至百度网盘