編碼器信號的測量和處理是伺服電機控制的一個重要問題,電機轉子的位置,速度,加速度都是來自于編碼器信號。編碼器脈沖信號測量和處理好了,將會得到準確的信息,這是控制的基礎。反之將會誤導控制。 一.編碼器脈沖信號: 通常編碼器都有A, B, Z脈沖信號,也有的另外加上有U, V, W脈沖信號。 A, B信號:為電機位置脈沖信號,通過A, B信號的相位差還可以辨別轉向。A和B信號的頻率相同,相位差90°,它們的占空比均為50%,通過電路可以將A, B信號的上升沿,下降沿分別處理成為脈沖,在一個A脈沖周期內,出現4個脈沖。Z信號:零位信號,電機每轉一圈,在零位會產生Z脈沖信號,為了使Z信號更加可靠,一般規定只有在A,B信號都為高電平時出現Z信號上升沿才能確定為Z信號有效U, V, W信號: 用于啟動位置的判斷,關于啟動位置判斷的細節,請參考有關書籍二.A,B信號測量是注意事項: A, B信號經過處理變成4倍頻的脈沖,分別出現在A周期的0°,90°,180°,270°。但是這種理想狀態是不存在的,通常A, B脈沖的相位差并不正好為90°,A, B脈沖的高電平和電平的時間也不恰好相等。可以參考編碼器廠家給出的數據。也就是說,4個脈沖的時間間隔并不相等,如果采用T法進行測量,必定造成實際轉速不變而轉速測量值卻有波動的情況,這是必須要避免的問題。 解決這個問題的方法: 1. 做T法測量時,不能使用兩個相鄰的脈沖,而是要用相同信號的相同沿。解釋一下,所謂相同信號比如是A信號,相同沿比如是上升沿,也就是用A的上一個上升沿到A的這個上升沿去進行T法測量。也可以用A的下降沿到下降沿,或者B的相同沿。這樣的好處是準確性獲得保障,壞處是周期是相鄰沿的4倍,增加了延時。 2. 事先對每個沿的間距做測量,并算出修正系數,進行實時修正。這樣做的好處是延時只有上個方案的1/4,壞處是不能確保沿到沿的準確性,因為各個相鄰脈沖的時間差可能隨電機角度而改變,在震動強時也可能隨轉速而改變。準確性不能完全得到保證。 三.Z信號測量時的注意事項: Z信號一旦受到干擾而產生誤判,將會造成同步失敗,電機電流將迅速增加而造成嚴重后果。所以對Z信號要格外注意抗干擾處理。我們這里只涉及軟件的處理。 上面講了,Z信號通過A,B,Z之間的相關性來讓抗干擾能力增加。這種方法將干擾的可能性降低為原來的1/4。但是在干擾嚴重的高頻斬波的環境下,這個措施還是不夠的。下面再介紹一種方法,窗口法。窗口法就是在零位附近開個窗口,只有在這個窗口內出現的Z信號,并同時滿足A, B, Z之間的電平關系,才認為是Z信號。在窗口外產生的Z信號不予認可。舉個例子:采用每圈2500線的編碼器,每圈所產生的4倍頻脈沖為10000個。當脈沖達到9700到10300之間時,Z信號有效,其它時候Z信號均不認可。 有的先生可能會提出異議,既然Z信號可能出現干擾,那么A, B信號也同樣會出現干擾。他的這種疑慮是有道理的,確實A, B信號也同樣會受到干擾,造成窗口位置不正確。我是這樣考慮這個問題的,我們所面對的干擾相對有效信號來說,是少量的,否則任何措施都將是無效的。造成干擾的情況和正常情況比較僅僅只占很少的比例,例如100個脈沖只有1個干擾信號。那么可以認為A, B信號總體是可靠的,和真實情況相差不大。與其相信Z信號,倒不如更多的相信A, B脈沖的位置積累信息。 有先生還會有疑慮,如果在窗口內Z信號受到干擾,那怎么辦呢?那么這時電機位置在不是零位時被設置為零位,會造成位置誤差,將會對電機運轉造成影響,但是由于窗口開在接近零位,所以影響不大,在下一次零位校正后就會恢復。 采取窗口法后,大幅度減少Z信號受干擾的可能性。并且即使偶然受到干擾,也對電機運轉的影響不大,很快就會恢復。 |