新聞中心

        EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 基于AT89S32單片機的高精度稱重系統(tǒng)的研制

        基于AT89S32單片機的高精度稱重系統(tǒng)的研制

        作者: 時間:2009-09-25 來源:網(wǎng)絡(luò) 收藏

          0 引言

          隨著科學(xué)技術(shù)的進步,及相關(guān)電子技術(shù)飛速發(fā)展,應(yīng)用領(lǐng)域不斷拓展。利用和傳感器實現(xiàn)對重量的高精度測量,提高了生產(chǎn)的自動化程度,成本低廉,應(yīng)用十分廣泛。

          1 系統(tǒng)組成

          系統(tǒng)由系統(tǒng)、、通信接口和語音提示模塊組成,硬件結(jié)構(gòu)框圖如圖1。

        硬件結(jié)構(gòu)框圖

          1.1 單片機系統(tǒng)

          系統(tǒng)采用AT89S52作為控制核心,配備鍵盤、液晶顯示電路和揚聲器。
        AT89S52是Atmel公司新推出的一種低功耗、高性能CMOS 8位微控制器,它具有以下標準功能:8k字節(jié)Flash,256字節(jié)RAM,32位I/O口線,看門狗定時器,2個數(shù)據(jù)指針,三個16位定時器/計數(shù)器,一個6向量2級中斷結(jié)構(gòu),全雙工串行口,片內(nèi)晶振及時鐘電路。其性能完全可以滿足系統(tǒng)的要求。

          液晶顯示采用OCMJ4X8A液晶顯示屏,它內(nèi)帶漢字字庫,可以方便地顯示漢字及圖形;可以同時顯示4行8列個單元,可以一次顯示系統(tǒng)所有狀態(tài)信息;顯示的內(nèi)容不需要刷新,節(jié)省了單片機的資源;電路結(jié)構(gòu)簡單,便于控制,功耗低。鍵盤用于輸入預(yù)置信息,揚聲器用于發(fā)出語音提示和超重報警。

          1.2

          系統(tǒng)采用懸臂梁式。該傳感器量程30kg;彈性體為彎曲懸臂梁結(jié)構(gòu),外形高度低,結(jié)構(gòu)強度高;用于拉伸力或壓縮力測量,抗偏、抗側(cè)向力強;防塵密封,精度高,性能穩(wěn)定可靠,安裝使用方便。傳感器外形如圖2所示,單位:mm。

        傳感器外形

          此傳感器為電阻應(yīng)變式稱重傳感器,它的主要組成部分有電阻應(yīng)變片、彈性體和檢測電路。工作原理:彈性體在外力作用下產(chǎn)生彈性變形,使粘貼在其表面的電阻應(yīng)變片也隨之產(chǎn)生變形,電阻應(yīng)變片變形后,它的阻值將發(fā)生變化,再經(jīng)相應(yīng)的測量電路把這一電阻變化轉(zhuǎn)換為電壓,從而完成將外力變換為電信號的過程。其中,電阻應(yīng)變片是把一根電阻絲機械地分布在一塊有機材料制成的基底上,即成為一片應(yīng)變片;彈性體是一個有特殊形狀的結(jié)構(gòu)件,它的功能有兩個:首先是它承受稱重傳感器所受的外力,對外力產(chǎn)生反作用力,達到相對靜平衡;其次,它要產(chǎn)生一個高品質(zhì)的應(yīng)變場,使粘貼在此區(qū)的電阻應(yīng)變片比較理想地完成應(yīng)變電信號的轉(zhuǎn)換任務(wù);檢測電路采用全橋式等臂電橋把電阻應(yīng)變片的電阻變化轉(zhuǎn)變?yōu)殡妷狠敵觥?/P>

          1.3 高精度

          稱重傳感器的輸出為mV級的微弱信號,傳統(tǒng)的測量方法是在之前加一級高精度的放大器,電路復(fù)雜。AD7714是美國Analog Devices(AD)公司推出的24-位ADC家族AD771X系列中的新品,適用于低頻、高精度工業(yè)級轉(zhuǎn)換。該器件具有完整的模擬前端,可以直接測量傳感器輸出的直流微弱信號,轉(zhuǎn)換精度達到24位無誤碼。采用三線串行口與微控制器連接,通過軟件編程可以對增益、信號極性、輸入通道作出設(shè)置。該芯片具有自校準、系統(tǒng)校準和背景校準功能,可以消除零點誤差、滿量程誤差及溫度漂移的影響。

          1.4 通信接口

          將單片機采集的重量數(shù)據(jù)傳輸?shù)缴衔粰C,利用單片機的RXD,TXD接口連接到RS232串行口接收或發(fā)送數(shù)據(jù)和指令,但是單片機的TTL電平和RS232不兼容,因此使用了MAX232進行電平轉(zhuǎn)換,其連接線圖如圖3所示。

        通信接口

          1.5 語音提示模塊

          語音提示由ISD1400芯片控制,它有20秒的錄放時間。預(yù)先將0~9、點、十、百、千克、克的語音存入ISD1400,單片機將實際測量的重量值通過該語音芯片經(jīng)由揚聲器發(fā)出。

          2 軟件設(shè)計

          2.1 單片機軟件編程

          對于51系列單片機,目前常用的語言有匯編和單片機C語言。本系統(tǒng)下位機軟件采用Keil C51程序編寫。主要由主程序、讀取重量子程序、鍵盤掃描和液晶顯示子程序、語音提示子程序、串口發(fā)送和接收子程序等部分組成。流程圖如圖4所示。

        流程圖

          讀取重力量程序功能。啟動A/D轉(zhuǎn)換,將稱重傳感器測量的重量值轉(zhuǎn)換成數(shù)字信號并讀取到單片機內(nèi)部。

          串口發(fā)送和接收子程序功能。完成下位機和上位機的通信。單片機讀取的溫度和濕度值通過發(fā)送子程序發(fā)送給上位機并等待命令,收到命令后再繼續(xù)進行測量。接收子程序通過接收上位機傳輸?shù)拿钸M行系統(tǒng)自檢、參數(shù)修正等。上位機的命令發(fā)送采用間隔10ms反復(fù)發(fā)送的方式,直到單片機將接收到的命令返回為止。如在 1s內(nèi)單片機沒有響應(yīng),則設(shè)置超時,系統(tǒng)復(fù)位單片機。

          2.2 上位機軟件編程

          本系統(tǒng)采用MSComm控件實現(xiàn)VB與單片機之間的數(shù)據(jù)交換,具有程序?qū)崿F(xiàn)簡便,程序模塊化,工作可靠等優(yōu)點,并能滿足多數(shù)情況下的工控要求。使用MSComm控件主要是通過事件來處理串行口的交互。控件的OnComm事件負責(zé)捕獲或處理這些通訊事件和通訊錯誤。

          2.2.1 MSCOMM屬性設(shè)置

        MSComml.CommPort=1 '設(shè)置端口1
        MSComml.Settings="2400,N,8,1" '2400 b/s,無校驗,8位數(shù)據(jù)位,1位停止位
        MSComml.InputLen=1 '一次從緩沖區(qū)中接收一個字節(jié)
        MSComml.InBufferSize=1024 '接口收緩沖區(qū)大小
        MSComml.PortOpen=Ture '打開端口
        MSComml.Rthreshold=1 '接收一個字節(jié)觸發(fā)一次ONCOMM事件

          2.2.2 ONCOMM事件響應(yīng)程序

        Private Sub MSComml_OnComm()
        Dim buffer As Variant '由緩沖區(qū)接收到的數(shù)據(jù)用Variant格式接收
        Dim arr()As Byte '定義二進制數(shù)組
        Dim i As Integer
        Dim receivester As string '定義輸出到接收文本框中的字符變量
        '下段程序是comEvReceive事件觸發(fā)后,將數(shù)據(jù)存入相應(yīng)的數(shù)組,并在接收文本框中顯示
        Select Case MSComml.CommEvent CasecomEvReceive buffer="MSComml".Inpute
        arr=buffer接收緩沖區(qū)內(nèi)數(shù)據(jù)variant變量內(nèi)
        arr=buffer '轉(zhuǎn)換為二進制數(shù)并送入相應(yīng)數(shù)組
        For i="1to8"
        receivester arr(i)
        Text1.Text=Text1.Text&receiverstr&"."
        '在接收框中顯示文本
        Next i
        End Select
        End Sub

          3 結(jié)束語

          本重量測量系統(tǒng),充分發(fā)揮了AT89S52單片機強大的控制能力和計算機的數(shù)據(jù)處理能力,通過稱重傳感器和24位分辨率的A/D轉(zhuǎn)換器實現(xiàn)了對重量的高精度測量。系統(tǒng)在電子秤的實際應(yīng)用中收到了滿意的效果。

        稱重傳感器相關(guān)文章:稱重傳感器原理


        評論


        相關(guān)推薦

        技術(shù)專區(qū)

        關(guān)閉
        主站蜘蛛池模板: 吕梁市| 乌拉特前旗| 凉山| 宣城市| 禄丰县| 故城县| 交城县| 富锦市| 克什克腾旗| 旅游| 彭山县| 旺苍县| 阜宁县| 永年县| 阳西县| 横峰县| 台南县| 廉江市| 怀柔区| 项城市| 白朗县| 新民市| 鄄城县| 昆明市| 裕民县| 延寿县| 安溪县| 大足县| 三原县| 巴青县| 沁源县| 临海市| 大田县| 舟山市| 金华市| 鄂托克前旗| 即墨市| 玉龙| 当雄县| 郸城县| 阜新市|