基于MSP430F149單片機的光電編碼器位置檢測系統設計_第1頁
基于MSP430F149單片機的光電編碼器位置檢測系統設計_第2頁
基于MSP430F149單片機的光電編碼器位置檢測系統設計_第3頁
基于MSP430F149單片機的光電編碼器位置檢測系統設計_第4頁
基于MSP430F149單片機的光電編碼器位置檢測系統設計_第5頁
已閱讀5頁,還剩2頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、基于MSP430F149單片機的光電編碼器位置檢測系統設計 更新于2011-10-18 05:09:57 文章出處:電子工程世界 德州儀器 MSP430F149 光電編碼器 位置檢測         在實際的工業位置控制領域中,為了提高控制精度,準確地對控制對象進行檢測是十分重要的。傳統的機械測量位移裝置已遠遠不能滿足現代生產的需要,而數字式傳感器光電編碼器,能將角位移量轉換為與之對應的電脈沖輸出, 主要用于機械位置和旋轉速度的檢測,具有精度高,體積小等特點,因此決定采用光電編碼器進行位移檢測。  

2、60;     美國TI公司推出的MSP430系列16位單片機,具有低功耗,運行速度快等優點,正日益得到廣泛的應用。本文將高精度MSP430單片機應用在系統中,作為整個系統的控制器,整個系統結構簡單,抗干擾性強,滿足了鋼鐵廠的生產要求。1、光電編碼器原理        光電編碼器是集光、機、電技術于一體的數字化傳感器,其基本原理就是在特制的碼盤上按一定規律編排光柵圖案,將這些圖案用光電頭讀取,轉變為高低有序排列的電平信號。光電編碼器輸出信號為A , B , Z 3 個信號,其中A ,

3、B 為相位差90°的方波信號, Z 為過零脈沖信號。如圖1所示,光電編碼器每旋轉一周,A、B 相輸出同樣數量的脈沖, Z相輸出一個脈沖,脈沖的個數和電機旋轉角度,電機的運行距離成正比關系,因此通過計算脈沖數就能計算出電機在實際運行中所運行的距離。                             

4、60;               A相、B相都是光電編碼器產生的,這兩個信號的前沿和后沿都對應著光電碼盤的1/4節距的信息。因此在實際中為了提高光電編碼器的定位精度通常采用四倍頻 方法進行處理。鑒相就是通過分析圖1的A相,B相信號,得出電機的旋轉方向。如果A相脈沖超前B相90,說明電機正轉,如果B相脈沖超前A相脈沖90,說 明電機反轉。本系統設計了一種四倍頻電路,其原理圖如圖2所示,相應的時序圖如圖3所示。由時序圖3可以看出,A和B信號經四倍頻電路后,輸出信號為

5、XA,XB兩個信號,在同一時刻,XA,XB只有一個是脈沖信號,另一個是高電平。因此,將XA,XB兩個信號連接到單片機相應的端口上,對這兩個信號分 別進行判斷、計數和計算,就可以得出相應的電機轉向和位移量。                  2、系統功能        系統框圖見圖4。整個系統主要由差動隔離整形,倍頻電路,鑒相計數模塊,主控芯片,通訊模塊,數顯

6、模塊組成。光電編碼器選用SIEMENS公司的 1XP8001-1型號,輸出電壓為5V。從光電碼盤輸出的A,B,A,B經過差動隔離整形模塊后能減少現場對信號產生的干擾,尤其是共模干擾,處理 后的信號經四倍頻電路后連到主控芯片,對脈沖進行計數,處理,計算,得到被控對象的位移結果。位移結果一方面送數顯表顯示,另一方面可通過串口將位移結果 送到上位機,便于在上位機中進行統計,打印,綜合分析。                  

7、;                    3、系統硬件組成3.1 、主控芯片及外圍電路        主控芯片我們采用MSP430F149單片機,它具有處理能力強,運行速度快,功耗低等特點; 整個系統采用3.3V供電,本設計電源部分采用TI公司的TPS76033芯片實現,該芯片能很好的滿足系統的要求,另外TPS76033芯片的封裝很小,又能節約PC

8、B板面積。        復位電路采用MAX809STR芯片,復位電路可以采用R-C復位電路,但是使用復位芯要比使用R-C復位電路的可靠性高,因此我們就采用MAX809STR芯片來實現系統的復位。           數顯電路采用LED顯示方式,MSP430具有豐富的I/O口資源,采用并行方式與LED連接非常方便,這種方式既能滿足現場的要求,又可以降低系統成 本。在單片機與數碼顯示連接時選擇P4.0P4.7引腳用來輸出顯示數據

9、,P2.1,P2.2,P2.3,P2.4引腳用來控制數碼管的選通狀態。3.2 、16位計數器        本次設計采用MSP430F149提供的計數器對倍頻后的XA,XB信號進行計數。MSP430F149提供了兩個16位的計數器,分別是 Timer_A,Timer_B,這是兩個用途非常廣泛的16位計數器,在設計中使用Timer_A計數器進行計數,將XA和XB兩個信號相或后與 Timer_A相連,即XA和XB相或后與P1.0引腳相連。無論電機正轉還是反轉,計數器引腳上都有脈沖信號,都可進行計數。為了判斷電機的旋轉,使用 計數

10、器的捕獲模塊對XA和XB信號進行方向判斷,Timer_A計數器中提供有3個捕獲模塊,均可以滿足系統的需要。編碼器四倍頻電路輸出的XA信號與捕 獲模塊1相連,XB與捕獲模塊2相連,即XA信號同時與P1.2引腳相連,XB信號同時與P1.3引腳相連。捕獲模塊捕獲XA和XB信號的上升沿,通過程 序的判斷就可以判斷出電機的旋轉方向。3.3、 串行模塊        MSP430單片機使用RS-485協議與上位機進行通訊, RS-485改進了RS-232的缺點,傳輸速率可達到10MB/S,傳輸距離達1200米。由于MSP430輸出的是T

11、TL電平,而RS-485串口卡 是485電平,因此需進行電平轉換。本系統采用MAX485芯片實現TTL電平與485電平之間的轉換。硬件連接使用USART0串口,即連接時使用 P3.4,P3.5引腳與MAX485的相應引腳相連。4、系統軟件實現        系統采用C語言進行程序設計,大大提高了開發調試的工作效率。整個系統程序包括主程序,鑒相計數程序,顯示子程序,串行通訊程序幾個模塊組成。程序流程圖見圖。        主程序主要包括系統的初始化:對串口,

12、計數器等硬件的初始化:計數值的讀取、處理、計算:調用顯示子程序,用于數據的顯示。                         鑒相計數程序主要用于電機方向的判斷和計數脈沖值的處理。系統中電機方向的判斷是靠計數器中的捕獲模塊捕獲XA,XB信號來實現的。在程序中,設計一個寄 存器保存電機的方向,當電機正轉時,捕獲模塊捕獲XA信號有效,在中斷服務程序中將電機方向設為正轉標志。反之亦然,當電機反轉時,捕獲XB有效,將電機 方向設為反轉標志。在主程序中只需根據寄存器的值,就可知道電機的旋轉方向。為了防止計數器中正轉,反轉的計數值發生混亂,每次捕獲發生時,在中斷服務程 序中都將計數器清零,重新計數,保證了電機換向后數據的準確性。        串行通訊模塊用于實現上位PC機與單片機之間的數據傳送。單片機可根據上位機的需要,將處理后的計數值上傳給上位機,用于統計,打印等。系統采用中斷方式 進行數據傳遞,在接受中斷服務程序中得到接受的上位機指令后,單片機就可將計數脈沖值,電

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論