<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 游標磁尺的設計與實現(xiàn)

          游標磁尺的設計與實現(xiàn)

          作者: 時間:2009-08-04 來源:網(wǎng)絡 收藏

          2 工作原理
          尺測量原理:使用開關型霍爾元件陣列作為“靜尺”;使用無源釹鐵硼磁鐵作為永磁體陣列(“動尺”)。作為“靜尺”的霍爾元件陣列是一種磁傳感器能檢測出“動尺”的磁場及其變化,當“動尺”沿“靜尺”軸線作無接觸相對運動時,由“靜尺”的霍爾元件陣列記錄“動尺”的數(shù)字化位置信息。位置的“整數(shù)部分”由最開始動作的霍爾元件所處的位置確定,位置的“小數(shù)部分”由位置匹配序列確定。所謂位置匹配序列就是“動尺”要滿足一定的規(guī)格和要求。“動尺”所在的位置值與“盯尺”的霍爾元件陣列動作信息序列匹配,如“小數(shù)部分”的2 mm,可以用00111110001100序列對應。因此“小數(shù)部分”的O~8需要9個相應的序列對應,確定位置值后將其位置值傳送到PC機。一段“靜尺”中包含4組霍爾元件陣列,每組霍爾元件陣列由16個霍爾元件組成,每個霍爾元件之間的間隔為9 mm。因此一段的測量長度為567 mm。若要測量更長范圍可以采用多段連接進行擴展。
          其“整數(shù)部分”計算結果D可以由式(1)求出:


          式中:l表示最開始動作的霍爾元件處在第幾段;m表示處在l段的第幾組;n表示處在m組的第幾個。
          兩個霍耳元件之間的位置值相當于“尺”的“小數(shù)”部分,其值d可以由位置匹配序列給出。因此尺的位置值為K可以由式(2)求出。

          式中:D表示磁尺的“整數(shù)部分”;d磁尺的“小數(shù)部分”。


          3 磁尺的硬件電路
          用于該磁尺位置信息處理的微處理器主要是采用美國Microchip Technology Incorporated公司生產(chǎn)的PIC系列單片機。利用PIC16F884單片機對“動尺”作用區(qū)域的霍爾元件陣列的動作信息進行位置匹配算法處理得到位置數(shù)據(jù);然后通過.PIC16F884的異步串口(LISART)經(jīng)過MAX3471芯片轉變成RS 485協(xié)議進行遠距離傳輸,到達目的地后在經(jīng)過RS 485/RS 232轉換器轉換成RS 232協(xié)議;在傳送到PC機上顯示其位置值。其硬件原理圖如圖3所示。

          4 位置匹配算法和顯示的程序
          4.1 PC機部分(Visual Basic)
          該裝置的PC部分利用微軟公司推出的可視化、面向對象的結構化程序語言Visual Basic來制作顯示平臺。因為Visual Basic軟件進行界面不僅快捷、編程工作量小;且提供了串行通信控件MSComm,通過對此控件的屬性和事件進行編程,就可以輕松的串口通信。
          4.1.1 MSComm簡介
          MSComm控件(Microsoft Communications Con-trol)是Microsoft公司提供的ActiveX控件,目的是為了簡化Windows下串行通信編程。它既可以用來提供簡單的串行通信功能,也可以用來創(chuàng)建完備的、事件驅動的高級通信工具。它通過串行端口傳輸和接收數(shù)據(jù),為應用程序提供串行通信功能。它提供兩種處理通信的方式,分別是事件驅動方式和查詢方式Ⅲ。
          4.1.2 顯示平臺介紹
          該平臺采用多文檔界面(MDI)制作,MDI應用程序主要由“父窗口”及“子窗口”構成,子窗口的活動范圍被限定在父窗口之內。顯示平臺界面如圖4所示。



          評論


          相關推薦

          技術專區(qū)

          關閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();