本公開的實施例涉及一種控制編碼器主軸速度同步的方法。
背景技術:
在應用于工廠自動化(FA)系統等的可編程邏輯控制器(PLC)的特定模塊當中的定位模塊用于控制電機。也就是說,定位模塊的主要功能是輸出用于激活伺服驅動器的脈沖。在由電機激活的被應用于許多系統的關注的機械裝置中,定位模塊在PLC系統中起著重要作用。
在定位模塊的功能中編碼器主軸速度同步是用于使用主軸比相對于小比率輸出脈沖數的功能,該主軸比相對于短軸比是這樣的比率,其使用編碼器脈沖信號的數量而被設置為作為參考軸的主軸與作為控制目標的短軸。也就是說,編碼器主軸速度同步基于主軸比相對于短軸比在控制時段期間使用編碼器脈沖信號的數量來計算要在下一個控制時段期間輸出的脈沖數。例如,編碼器主軸速度同步使用在圖1的第一持續時間11期間被輸入的編碼器脈沖信號的數量來計算要在圖1的第二持續時間12期間輸出的脈沖數。
控制定位模塊的編碼器主軸速度同步的過程將參照圖1和圖2來描述。定位模塊以恒定控制時段運行。當開始控制時段時,定位模塊驗證被輸入的編碼器脈沖信號的數量是否存在。
在操作S21中當在控制時段期間輸入的編碼器脈沖信號的數量大于0時,在操作S22中定位模塊對在每個控制時段中被輸入的編碼器脈沖信號進行計數來計算要在下一個控制時段期間輸出的脈沖數。
例如,如果在第一持續時間11期間輸入的編碼器脈沖信號的數量為2并且主軸比相對于短軸比為2:2,則定位模塊可以計算出要在第二持續時間12期間輸出的脈沖數為4。如另一個示例,如果在第二持續時間12期間輸入的編碼器脈沖信號的數量為5并且主軸比相對于短軸比為5:5,則要在第三持續時間13期間輸出的脈沖數可以被計算為25。
在操作S23中定位模塊將計算出的值映射至下一個控制時段的輸出,并且在操作S24中等待控制時段的剩余時間。
在另一方面,在操作S21中當輸入的編碼器脈沖信號的數量等于或小于0時,在操作S24中定位模塊等待控制時段的剩余時間。
此外,控制編碼器主軸速度同步的過程使用在定位模塊的控制時段期間輸入的編碼器脈沖信號的數量來測量編碼器輸入速度,并且使用編碼器輸入速度來確定要在下一個控制時段期間輸出的脈沖數。
參照圖3,假設控制時段為1毫秒(ms)并且對編碼器脈沖信號的上升沿進行計數,測量編碼器輸入速度的過程將被描述。由于在第一持續時間31期間輸入的編碼器脈沖信號的數量為6,所以編碼器輸入速度被測量為6kHz,并且在第二持續時間32期間輸出對應于6kHz的脈沖。并且,由于在第二持續時間32期間輸入的編碼器脈沖信號的數量為7,所以編碼器輸入速度被測量為7kHz,并且在第三持續時間33期間輸出對應于7kHz的脈沖。
在圖3中,編碼器脈沖信號的實際速度是恒定的,并且在第一持續時間31、第二持續時間32以及第三個持續時間33的每個期間輸入的編碼器脈沖信號的數量是不同的。因此,在第一持續時間31、第二持續時間32以及第三個持續時間33的每個處的編碼器輸入速度被不同地測量。
然而,如果輸入的編碼器脈沖信號的數量長于控制時段而超出該控制時段,則僅在編碼器脈沖信號的上升沿被輸入的控制時段期間測量編碼器輸入速度。因此,編碼器輸入速度不在其余控制時段期間被測量而導致在測量出的編碼器輸入速度中的非均勻性。
參照圖4,當編碼器脈沖信號長于控制時段而超出該控制時段時,假設控制時段為1ms并且對編碼器脈沖信號的上升沿進行計數,測量編碼器輸入速度的過程將被描述。
由于在第一持續時間1期間輸入的編碼器脈沖信號的數量為1,所以編碼器輸入速度被測量為1kHz,并且在第二持續時間2期間輸出對應于1kHz的脈沖。
然而,由于在第二持續時間2期間輸入的編碼器脈沖信號的數量為0,所以編碼器速度被測量為0kHz,并且不存在對應于0kHz的脈沖使得在第三持續時間3期間不輸出脈沖。
如在第二個持續時間2中,由于在第三持續時間3至第十持續時間10期間輸入的編碼器脈沖信號的數量為0,所以編碼器輸入速度被測量為0kHz,并且不存在對應于0kHz的脈沖使得在下一個持續時間期間不輸出脈沖。
由于在第十一持續時間11期間輸入的編碼器脈沖信號的數量為1,所以編碼器輸入速度被測量為1kHz,并且在第十二持續時間12期間輸出對應于1kHz的脈沖。
然而,由于在第十二持續時間12期間輸入的編碼器脈沖信號的數量為0,所以編碼器速度被測量為0kHz,并且不存在對應于0kHz的脈沖使得在第十三持續時間13期間不輸出脈沖。
如在第十二個持續時間12中,由于在第十三持續時間13至第十五持續時間15期間輸入的編碼器脈沖信號的數量為0,所以編碼器輸入速度被測量為0kHz,并且不存在對應于0kHz的脈沖使得在下一個持續時間期間不輸出脈沖。
如上面所描述的,在編碼器主速度同步的控制時由定位模塊輸出具有非恒定編碼器輸入速度的脈沖意味著電機沒有恒定地旋轉。也就是說,具有非恒定編碼器輸入速度的脈沖被輸出以使得存在電機無法平穩地轉動的問題。
技術實現要素:
本公開的目的是提供一種控制編碼器主軸速度同步的方法,能夠使用在每個編碼器脈沖信號的輸入時間處的計數值來計算編碼器脈沖信號之間的間隔以根據編碼器輸入速度之間的間隔來測量編碼器輸入速度,從而準確地測量編碼器速度。
此外,本公開的另一個目的是提供一種控制編碼器主軸速度同步的方法,能夠根據編碼器輸入速度來生成輸出脈沖以將輸出脈沖映射至下一個控制時段的輸出,從而恒定地保持輸出脈沖。
由本公開解決的一個或多個問題不限于上面所描述的,并且上面未提到的一個或多個其他問題將由那些本領域的技術人員從下面的公開而明顯地理解。
在實施例中,一種在微處理器模塊中被執行的控制編碼器主軸速度同步的方法,當開始控制時段并且接收到編碼器脈沖信號時,在編碼器脈沖信號的輸入時間處執行將計數值鎖存至特定存儲器,使用鎖存至特定存儲器的計數值來生成輸出脈沖,并且將輸出脈沖映射至下一個控制時段期間的輸出。
其他實施例的細節被包括在詳細描述和附圖中。
本發明在此描述的優點和特征以及用于獲得它們的方法將參照與詳細描述的示例性實施例結合的附圖而變得更顯而易見。然而,本發明不限于此處所闡述的實施例并且其將以不同形式來實施,但是這些實施例也是本發明對本領域的那些技術人員的教學,這些實施例將被提供以講述本發明的全部保護范圍,并且本發明將僅由附屬權利要求所限定。貫穿本說明書,相同參考數字指代類似組件。貫穿本公開,相同附圖參考數字應該被理解為指代相同組件。
根據本公開,目的是提供一種控制編碼器主軸速度同步的方法,能夠每當輸入編碼器脈沖信號時使用在每個編碼器脈沖信號的輸入時間處的計數值來計算編碼器脈沖信號之間的間隔以根據編碼器輸入速度之間的間隔來測量編碼器輸入速度,從而準確地測量編碼器速度。
此外,根據本公開,另一個目的是提供一種控制編碼器主軸速度同步的方法,能夠根據編碼器輸入速度來生成輸出脈沖以將輸出脈沖映射至下一個控制時段的輸出,從而恒定地保持輸出脈沖。
附圖說明
圖1是用于描述定位模塊的控制時段的圖。
圖2是用于描述控制定位模塊的編碼器主軸速度同步的過程的流程圖。
圖3和圖4是用于描述測量編碼器輸入速度的過程的圖。
圖5是用于描述根據本公開的一個實施例的編碼器主速度同步控制器的框圖。
圖6至圖8是用于描述根據本公開的一個實施例的編碼器主速度同步控制器的電路圖。
圖9是用于描述圖5的微處理器模塊的運行過程的圖。
圖10是用于描述根據本公開的測量編碼器主軸速度的方法的流程圖。
圖11是描述用于根據本公開的控制編碼器主軸速度同步的方法的一個實施例的流程圖。
具體實施方式
在下文中,本公開的實施例將參照附圖進行詳細描述。
在此使用的術語的“控制時段(control period)”是指計算要在下一個控制時段期間輸出的編碼器脈沖信號的時間。這樣的控制時段可以根據廠家和產品而不同,并且可以在幾百微秒(μs)至幾十毫秒(ms)的范圍中。
例如,控制電機的系統的控制時段是指計算要被輸出至電機的編碼器脈沖信號的第一過程與將編碼器脈沖信號施加至電機的第一過程之間的時間。
如上面所描述的,控制時段是指第一過程和第二個過程之間的時間,并且要在下一個控制時段期間輸出的編碼器脈沖信號針對這樣的時間被計算。
圖5是用于描述根據本公開的一個實施例的編碼器主速度同步控制器的框圖。
參照圖5,根據本公開的一個實施例的編碼器主速度同步控制器500包括信號提供模塊510和微處理器模塊520。
信號提供模塊510處理編碼器脈沖信號以提供被處理的信號作為微處理器模塊520的外部中斷輸入信號。這樣的信號提供模塊510包括信號接收單元511、信號處理單元512和信號發送單元513。
信號接收單元511接收來自編碼器的編碼器脈沖信號。在此,編碼器脈沖信號包括PULSE/DIR信號、CW/CCW信號以及PHASE信號。
信號處理單元512使用PULSE/DIR信號、CW/CCW信號以及PHASE信號中的至少一個來生成外部中斷輸入信號。
PULSE/DIR信號包括表示輸入脈沖速度的脈沖信號以及表示編碼器的旋轉方向的方向信號。
CW/CCW信號包括表示當編碼器以正向旋轉時的輸入脈沖速度的正向脈沖信號,以及表示當編碼器以反向旋轉時的輸入脈沖速度的反向脈沖信號。
PHASE信號包括具有彼此不同相位的第一信號和第二信號。在第一信號和第二信號之間存在相位差,相位差表示當第一信號的相位提前于第二信號的相位的編碼器正向,并且否則,相位差表示當第二信號的相位提前于第一信號的相位的編碼器反向。PHASE信號在控制時段內的兩個脈沖中生成。因此,當編碼器脈沖輸入模式是PHASE信號時,如果使用了輸入編碼器脈沖的頻率的1/2,則頻率測量可能與其他信號相同。
信號發送單元513提供由信號處理單元512處理的信號作為微處理器模塊520的外部中斷輸入信號。
微處理器模塊520包括能夠在由用戶所期的時段執行計數的計數器521,以及用于每當編碼器脈沖信號被輸入時在編碼器脈沖信號的輸入時間處將計數值鎖存至特定存儲器的直接存儲器存取(DMA)單元522。此外,還包括速度測量單元523。速度測量單元523使用在編碼器脈沖信號的輸入時間處的計數值來計算編碼器脈沖信號的平均間隔,從而測量編碼器的速度。
計數器521在每個預定時段增加或減少特定存儲器的計數值。此時,在要與控制時段同步的每個控制時段處計數值可以被初始化為0。
由計數器510生成的計數值可以被用來計算編碼器脈沖信號之間的間隔。如上面所描述的,在編碼器脈沖信號的輸入時間處將計數值鎖存至特定存儲器的原因在于使用被鎖存至特定存儲器的計數值的間隔來計算編碼器脈沖信號之間的間隔。
當從信號提供模塊510輸入編碼器脈沖信號時,DMA單元522將由計數器521生成的計數值鎖存至特定存儲器。例如,當接收到外部中斷的上升沿和下降沿時,DMA單元522可以將由計數器521生成的計數值鎖存至特定存儲器。速度測量單元523使用在編碼器脈沖信號的輸入時間處的計數值來計算編碼器脈沖信號的平均間隔,從而測量編碼器速度。
特別地,根據在編碼器脈沖信號的輸入時間處計數值至特定存儲器的鎖存次數,速度測量單元523確定在控制時段期間輸入的編碼器脈沖信號的數量。
此后,速度測量單元523可以對應于編碼器脈沖信號的數量關于每個編碼器脈沖信號使用在編碼器脈沖信號的輸入時間處鎖存至存儲器的計數值來計算編碼器脈沖信號之間的平均間隔。也就是說,速度測量單元523可以根據在每個編碼器脈沖信號的輸入時間處鎖存至存儲器的計數值的變化來計算編碼器脈沖信號之間的平均間隔。
如上面所描述的,速度測量單元523計算編碼器脈沖信號之間的平均間隔來測量編碼器輸入速度,從而提供了優點,在于可以準確地測量編碼器速度。
圖6至圖8是用于描述根據本公開的一個實施例的編碼器主軸速度同步控制器的電路圖。
參照圖6至圖8,信號提供模塊510可以使用PULSE/DIR信號、CW/CCW信號以及PHASE信號來生成作為外部中斷輸入信號被提供至微處理器模塊520的信號。
CW/CCW信號包括表示當編碼器以正向移動時的輸入脈沖速度的正向脈沖信號501,以及表示當編碼器以反向移動時的輸入脈沖速度的反向脈沖信號502。并且,正向脈沖信號501和反向脈沖信號502被用作或門(OR gate)506的輸入。或門506的輸出信號被用作MUX 508的輸入。例如,如圖7中所示,正向脈沖信號501和反向方向脈沖信號502可以被用作或門506的輸入,并且或門506可以在正向脈沖信號501和反向方向脈沖信號502上執行或操作以輸出信號。
PHASE信號包括具有彼此不同相位的第一信號503和第二信號504,并且第一信號503和第二信號504被用作異或門(XOR gate)507的輸入。異或門507的輸出信號被用作MUX 508的輸入。例如,如圖8中所示,第一信號503和第二信號504可以被用作異或門507的輸入,并且異或門507可以對第一信號503和第二信號504執行異或操作以輸出信號。
PULSE/DIR信號包括表示輸入脈沖速度的脈沖信號和表示編碼器的旋轉方向的方向信號,并且脈沖信號和方向信號被用作MUX 508的輸入。具體地,在本公開的一個實施例中,只有表示輸入脈沖速度的脈沖信號可以被用作MUX 508的輸入。
MUX 508輸出并將或門506的輸出信號、異或門507的輸出信號以及PULSE/DIR信號中的一個信號作為中斷輸入信號提供至微處理器模塊520。
圖9是用于描述圖5的微處理器模塊的運行過程的圖。
當接收到來自信號提供模塊510的外部中斷輸入信號時,微處理器模塊520使用外部中斷輸入信號作為觸發信號。每當接收到外部中斷輸入信號時,在軟件方法中存在對高速脈沖的將計數值拷貝至所期存儲器的限制。因此,微處理器模塊520可以在硬件方法中將計數值鎖存至特定存儲器。計數值可以在每個控制時段被初始化以與控制時段同步,從而測量編碼器的輸入速度。
圖10是用于描述根據本公開的測量編碼器主軸速度的方法的流程圖。
參照圖10,當開始控制時段時,在操作S1001中微處理器模塊520驗證被輸入的編碼器脈沖信號的數量是否存在。當在控制時段期間被輸入的編碼器脈沖信號的數量大于0時,在操作S1002中微處理器模塊520計算編碼器脈沖信號之間的間隔。
特別地,微處理器模塊520根據編碼器脈沖信號的輸入時間處被鎖存至特定存儲器的計數值的次數來確定在控制時段期間被輸入的編碼器脈沖信號的數量。此后,微處理器模塊520可以對應于編碼器脈沖信號的數量關于每個編碼器脈沖信號使用在編碼器脈沖信號的輸入時間處鎖存至存儲器的計數值來計算編碼器脈沖信號之間的平均間隔。
也就是說,微處理器模塊520可以根據在每個編碼器脈沖信號的輸入時間處鎖存至存儲器的計數值的變化來計算編碼器脈沖信號之間的平均間隔。
微處理器模塊520使用在控制時段期間被接收的編碼器脈沖信號之間的平均間隔來生成要被映射至下一個時段的輸出的脈沖。在操作S1004中微處理器模塊520將生成的脈沖映射至下一個控制時段的輸出,并且在操作S1005中等待控制時段的剩余時間。在另一方面,在操作S1001中當被輸入的編碼器脈沖信號的數量等于或小于0時,在操作S1005中微處理器模塊520等待控制時段的剩余時間。
圖11是描述用于根據本公開的控制編碼器主軸速度同步的方法的一個實施例的流程圖。
參照圖11,在操作S1101中信號提供模塊510處理多個編碼器脈沖信號。
在S1101的一個實施例中,信號提供模塊510可以使用PULSE/DIR信號、CW/CCW信號以及PHASE信號中的至少一個來生成編碼器脈沖信號。
特別地,信號提供模塊510對CW/CCW信號執行或操作并且對PHASE信號執行異或操作。此后,一信號作為或操作的結果被輸出,一信號作為異或操作的結果被輸出,并且PULSE/DIR信號可以通過MUX以生成編碼器脈沖信號。
在操作S1102中信號提供模塊510提供了被處理的編碼器脈沖信號作為微處理器模塊520的外部中斷輸入信號。
當接收到編碼器脈沖信號時,在操作S1103中微處理器模塊520在編碼器脈沖信號的輸入時間處將計數值鎖存至特定存儲器。如上面所描述的,在編碼器脈沖信號的輸入時間處計數值被鎖定至特定存儲器的原因是為了使用鎖存至特定存儲器的計數值來計算編碼器脈沖信號之間的間隔。
在操作S1104中微處理器模塊520基于被鎖存的計數值來計算編碼器脈沖信號之間的間隔以測量編碼器輸入速度。
特別地,微處理器模塊520根據在編碼器脈沖信號的輸入時間處計數值至特定存儲器的鎖存次數來確定在控制期間輸入的編碼器脈沖信號的數量。
此后,微處理器模塊520可以對應于編碼器脈沖信號的數量關于每個編碼器脈沖信號使用編碼器脈沖信號的輸入時間處被鎖存至存儲器的計數值來計算編碼器脈沖信號之間的平均間隔。
也就是說,微處理器模塊520可以根據在每個編碼器脈沖信號的輸入時間處鎖存至存儲器的每個計數值的變化來計算編碼器脈沖信號之間的平均間隔。
如上面所描述的,微處理器模塊520可以計算編碼器脈沖信號之間的平均間隔來測量編碼器輸入速度,從而提供了優點,在于可以精確地測量編碼器速度。
迄今為止,雖然已經描述了根據本公開的具體實施例,但是應該明白的是,在沒有背離本公開的保護范圍的情況下可以實施許多其他修改。因此,本公開的保護范圍不應限于上面所描述的實施例,并且其應該由隨后要被描述的附屬權利要求以及其等同物限定。
根據本公開,目的是提供一種控制編碼器主軸速度同步的方法,能夠使用在每個編碼器脈沖信號的輸入時間處的計數值來計算編碼器脈沖信號之間的間隔,并且根據編碼器輸入速度之間的間隔來測量編碼器輸入速度,從而準確地測量編碼器速度。
此外,根據本公開,目的是提供一種控制編碼器主軸速度同步的方法,該方法能夠根據編碼器輸入速度來生成輸出脈沖以將輸出脈沖映射至下一個控制時段的輸出,從而恒定地保持輸出脈沖。
如上面所描述的,雖然已經結合示例性實施例和附圖描述了本公開,但其不限于此,并且應該明白的是,各種改變和修改可以由本領域的那些技術人員從本文的公開而設計。因此,本公開的精神應該由隨后描述的附屬權利要求以及其等同體來解釋并且等價的修改應該被包括在本公開的精神中。