TR編碼器的幾種計數方法 |
點擊次數:2396 更新時間:2017-05-26 |
的使用在現在已經普及,其使用也非常的廣泛,zui大的用途就是在控製係統中提高控製的精度,能夠更為(wei) 準確的控製對象的位置。編碼器輸出波形可以看出,編碼器正轉時A相超前B相90度.在A相脈衝(chong) 的下降沿處,B相為(wei) 高電平;而在編碼器反轉時,A相滯後B相90度,在A相脈衝(chong) 的下降沿處,B相輸出為(wei) 低電平。這樣,編碼器旋轉時通過判斷B相電平的高低就可以判斷編碼器的旋轉方向[2]。 用軟件實現脈衝(chong) 的鑒相、計數 編碼器輸出的A向脈衝(chong) 接到單片機的外部中斷INT0,B向脈衝(chong) 接到I/O端口P1.0。當係統工作時,首先要把INT0設置成下降沿觸發,並開相應中斷。當有有效脈衝(chong) 觸發中斷時,進行中斷處理程序,判別B脈衝(chong) 是高電平還是低電平,若是高電平則編碼器正轉,加1計數;若是低電平則編碼器反轉,減1計數。 用硬件實現脈衝(chong) 的鑒相、計數 硬件計數在執行速度上有軟件計數不可比擬的優(you) 勢,通常采用多個(ge) 可預置4位雙時鍾加減計數器74LS193級聯組成的加減計數電路。P0-P3為(wei) 計數器的4位預置數據端,與(yu) 數據輸入鎖存器相接;QA-QD為(wei) 計數器的4位數據輸出端,與(yu) 數據輸出緩衝(chong) 器相接;MR為(wei) 清零端與(yu) 上電清零脈衝(chong) 相接;PL為(wei) 預置允許端,由譯碼控製電路觸發;CU為(wei) 加脈衝(chong) 輸入端,CD為(wei) 減脈衝(chong) 輸入端;TCU為(wei) 進位輸出端,TCD為(wei) 借位輸出端。 當CU和CD中一個(ge) 輸入脈衝(chong) 時,另一個(ge) 必須處於(yu) 高電平,才能進行計數工作。而從(cong) 編碼器直接輸出的A、B兩(liang) 路脈衝(chong) 不符合要求,不能直接接到計數器的輸入端。但我們(men) 可以利用這兩(liang) 路脈衝(chong) 之間的相位關(guan) 係對其進行鑒相後再計數。下圖給出了光電編碼器實際使用的鑒相與(yu) 雙向計數電路,鑒相電路用1個(ge) D觸發器和2個(ge) 與(yu) 非門組成,計數電路用3片74LS193組成。 當光電編碼器順時針旋轉時,A相超前B相90°,D觸發器輸出/Q(W1)為(wei) 高電平,Q(W2)為(wei) 低電平,上麵與(yu) 非門打開,計數脈衝(chong) 通過(W3),送至雙向計數器74LS193的加脈衝(chong) 輸入端CU,進行加法計數;此時,下麵與(yu) 非門關(guan) 閉,其輸出為(wei) 高電平(W4)。當光電編碼器逆時針旋轉時,A相比B相延遲90°,D觸發器輸出/Q(W1)為(wei) 低電平,Q(W2)為(wei) 高電平,上麵與(yu) 非門關(guan) 閉,其輸出為(wei) 高電平(W3);此時,下麵與(yu) 非門打開,計數脈衝(chong) 通過(波W4),送至雙向計數器74LS193的減脈衝(chong) 輸入端CD,進行減法計數[3]。 利用單片機內(nei) 部計數器實現可逆計數 對以上兩(liang) 種計數方法進行分析可知,用純軟件計數雖然電路簡單,但是計數速度慢,難以滿足實時性要求,而且容易出錯,用外接加減計數芯片的方法,雖然速度快,但硬件電路複雜,由上圖可以看出要做一個(ge) 12位計數器需要5個(ge) 外圍芯片,成本也較高。那麽(me) 我們(men) 能否用單片機內(nei) 部的計數器來實現加減計數呢。我們(men) 知道,8051片內(nei) 有兩(liang) 個(ge) 16位的定時器:定時器0和定時器1,8052還有一個(ge) 定時器2,這三個(ge) 定時器都可以作為(wei) 計數器來用。但8051內(nei) 部的計數器是加1計數器,所以不能直接應用,必須經過適當的軟件編程,來實現其“減”計數功能。 上一篇:TR編碼器的工作原理 下一篇:TR編碼器知識擴展篇 |