




免費預覽已結束,剩余61頁可下載查看
下載本文檔
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
精品摘 要電子水平儀是一種非常普遍的測量小角度的量具。用它可測量對于水平位置的傾斜度?;趥鞲衅?、數(shù)字信號處理、單片機技術的數(shù)字水平儀是當前傾角測試儀器數(shù)字化發(fā)展的方向。本畢業(yè)設計就是采用STC89C52單片機和ADI公司生產的三軸加速度傳感器ADXL345相結合,利用ADXL345三軸加速度傳感器感應水平傾角,通過單片機的控制以及運算將傾角以數(shù)值的形式直接在LCD顯示屏上進行顯示、處理,從而使角度測量變得方便、快捷, 實現(xiàn)了傾角的高精度測量。通過ADXL345三軸加速度傳感器原理,提出了使用軟件和硬件結合的自動校正技術進行測量角度,最大限度簡化了電路,提高了系統(tǒng)的穩(wěn)定性和可靠性。通過對本課題的研究,讓我對水平儀有了一定的了解,在未來水平儀將在建筑方面起著重要作用,并且隨著時代發(fā)展,水平儀對角度的測量將越來越精細,隨著光學應用領域的不斷擴展,也相應的產生了一些基于光電原理的光電式水平儀和激光式水平儀,光電原理的應用將是未來水平儀的發(fā)展方向。關鍵詞:智能水平儀;單片機;ADXL345;角度AbstractElectronic level gauge is a very common small angle measurement. Measurement for the horizontal position of the inclination to use it. Based on the digital level sensor, digital signal processing, computer technology is the current development of digital instrument tilt testing instrument in the direction of.This graduation design is the use of three axis accelerometer ADXL345 microcontroller STC89C52 and ADI company production of combination, using the ADXL345 three axis acceleration sensor level angle, processing through the MCU control and operation will dip in numerical form directly in the LCD screen display, so that the angle measuring is convenient, quick, realize high precision measurement of angle. The principle of the ADXL345 three axis accelerometer, and proposes to use the combination of hardware and software of the automatic calibration technique for measuring the angle, the maximum simplifies the circuit, improves the stability and reliability of the system. This graduation design is the use of three axis accelerometer ADXL345 microcontroller STC89C52 and ADI company production of combination, using the ADXL345 three axis acceleration sensor level angle, processing through the MCU control and operation will dip in numerical form directly in the LCD screen display, so that the angle measuring is convenient, quick, realize high precision measurement of angle. The principle of the ADXL345 three axis accelerometer, and proposes to use the combination of hardware and software of the automatic calibration technique for measuring the angle, the maximum simplifies the circuit, improves the stability and reliability of the system.Keywords: Intelligent level; MCU; ADXL345; angle 目 錄1 緒 論11.1 課題研究背景和意義11.2 國內外水平儀發(fā)展現(xiàn)狀和趨勢11.3 系統(tǒng)設計的主要工作11.4 論文結構及安排22 三軸加速度傳感器感應原理32.1 ADXL345工作原理32.2 ADXL345寄存器映射52.3 ADXL345主要寄存器定義介紹62.4 測量傾斜角度原理82.4.1 加速度傳感器進行傾角測量簡介82.4.2 ADXL345測量角度原理93 水平儀總體設計123.1 水平儀硬件設計123.1.1 單片機模塊133.1.2 LCD液晶顯示模塊143.1.3 ADXL345接口設計163.1.4 ADXL345加速度傳感器模塊183.2 水平儀軟件設計203.2.1 I2C總線協(xié)議分析213.2.2 液晶顯示驅動程序設計253.2.3 ADXL345加速度傳感器軟件模塊283.2.4 ADXL345加速度傳感器誤差校準284 實驗數(shù)據(jù)及總結30結 論33致 謝34附錄A 英文原文37附錄 B 漢語翻譯41附錄 C 主程序44附錄 D 電路原理圖55感謝下載載精品1 緒 論1.1 課題研究背景和意義在高樓橋梁等建筑行業(yè),對建筑物自身在水平面傾斜度的測量和處理,需要一個能連續(xù)工作幾個月甚至一年以上采樣進度很高的數(shù)字水平儀系統(tǒng),這就要求該系統(tǒng)必須具有高精度微功耗的功能。水平儀從過去簡單的氣泡水平儀到現(xiàn)在的電子水平儀已經歷經多次更新。電子水平儀是一種非常急需的測量小角度的量具。 隨著精密制造技術的發(fā)展,已有的電子水平儀不能滿足精度要求,國內數(shù)顯式電子水平儀靈敏度,反應時間等與國外相比,差距較大。研究分辨率更高,性能更好的智能電子水平儀具有重要意義。 為了提高水平儀的測量精度,擺脫傳統(tǒng)水平儀智能化程度低、數(shù)據(jù)處理能力差、抗震能力差等缺點,必須利用現(xiàn)代科技設計一種新的水平儀?;贛EMS傳感器、數(shù)字信號處理、單片機的智能水平儀是今后水平儀的發(fā)展方向,可以應用于建筑、石油、煤礦和地質勘探等領域。本畢業(yè)設計將STC89C52單片機和ADI公司生產的三軸加速度傳感器ADXL345相結合,實現(xiàn)了高精度數(shù)顯智能水平儀的設計。1.2 國內外水平儀發(fā)展現(xiàn)狀和趨勢目前國內已有的水平儀不能很好的滿足生產和應用的需求,國內電子水平儀的生產和研制能力與國外相比相對落后。尤其是存在著智能化程度不高,對數(shù)據(jù)缺乏處理能力,無法一次性測量出被測面傾斜角和方位角等缺點。近年來,國內在水平儀的研制開發(fā)方面取得了不少進展。國外蒸蒸日上,廠家繁多,種類齊全,速度越來越快,功耗越來越低,性能越來越強,國內除臺灣做的比較好外,大陸也有幾家具備研發(fā)和生產能力,如上海華虹、海爾等,只不過大陸產品占的市場份額太小了1.3 系統(tǒng)設計的主要工作 本畢業(yè)設計的主要目標是利用單片機和三軸加速度傳感器,設計一種高精度、大角度測量范圍、實時顯示、便攜式的智能水平儀。該水平儀測量的角度顯示在90以內,并且能通過三個軸的加速度正負值,判斷角度的傾斜方向,同時,由于本系統(tǒng)是基于MEMS技術,因此即使在惡劣的現(xiàn)場工業(yè)環(huán)境中,仍能表現(xiàn)出優(yōu)秀可靠的性能。經過文獻的翻閱和芯片資料的對比,選擇了一套可行的方案。在硬件方面,可以用于測量傾角的芯片有三種類型,分別是ADXL345三軸加速度傳感器、mma7455三軸加速度傳感器、三軸陀螺儀。通過對比,ADXL345具備數(shù)字輸出,高精度(3.9mg/LSB),誤差小等優(yōu)點,因此選擇了ADXL345芯片作為測量傾角的傳感器。同時選擇了集成了單片機、LCD液晶顯示屏和一些基本元件的開發(fā)板,減少設計的時間和復雜度。在軟件方面,采用C語言在Keil軟件中編程,使用I2C通信方式實現(xiàn)單片機和傳感器的數(shù)據(jù)傳輸;利用數(shù)學方法推倒出的角度計算公式計算角度大??;最后經過實際測量角度,計算出傳感器的測量誤差,在偏移寄存器中進行校準。1.4 論文結構及安排本文將圍繞設計一個完整的電容式傳感器信號處理系統(tǒng)的過程展開,包括角度轉換模塊和數(shù)據(jù)處理模塊。本文主要內容如下:第1章,緒論,闡述了選題背景和意義,分析了國內外相關技術的發(fā)展動態(tài)及研究現(xiàn)狀,并對本論文的主要工作進行了介紹。第2章,通過對角度轉換中涉及的三軸加速度傳感器以及數(shù)據(jù)處理中涉及的A/D轉換、數(shù)碼顯示等各部分綜合分析,確定本系統(tǒng)的總體方案,并給出系統(tǒng)總體結構框圖,為后續(xù)設計做準備。 第3章,先簡單介紹了智能水平儀的硬件設計、軟件技術,并對其選型和性能進行分析。 第4章,設計結果實現(xiàn),分析數(shù)據(jù)。2 三軸加速度傳感器感應原理2.1 ADXL345工作原理 ADXL345是一款小而薄的超低功耗三軸加速度測量系統(tǒng)(如圖2.1所示),分辨率高達13位,可選擇的測量范圍有2g,4g,8g或16g。數(shù)字輸出數(shù)據(jù)格式為16位二進制補碼。ADXL345非常適合應用在移動設備中,它既能測量運動或沖擊導致的動態(tài)加速度,也能測量靜止加速度,例如重力加速度,使得器件可作為傾斜傳感器使用。其高分辨率(3.9mg/LSB)能夠測量不到1.0的傾斜角度變化。ADXL345的主要特性如下:超低功耗:Vs=2.5V時(典型值),測量模式下為23A,待機模式下為0.1A;用戶可以選擇不同的量程和分辨率,2g(10bit), 4g(11bit), 8g(12bit), 16g(13bit);(1)電源電壓范圍:2.0V至3.6V;I/O電壓范圍:1.7V至3.5VS;(2)SPI模式(3線和4線)和I2C模式數(shù)字接口;(3)通過串行命令可選測量范圍和帶寬;(4)32級FIFO緩沖器;(5)使用溫度范圍:-40至+85;(6)抗沖擊能力:10000g;(7)小而?。?mm*5mm*1mm,LGA封裝;(8)應用范圍:手機、醫(yī)療儀器,工業(yè)儀器、儀表、個人導航設備等。圖2.1 ADXL345芯片該加速度傳感器提供多種特殊檢測功能?;顒雍头腔顒訖z測功能通過比較任意軸上的加速度與用戶設置的閾值來檢測有無運動發(fā)生以及在各個軸上的加速度值是否超過用戶設置的閥值。敲擊檢測功能可以檢測任意方向的單振和雙振動作。自由落體檢測功能可以檢測器件是否正在掉落。這些功能可以獨立映射到兩個中斷輸出引腳中的一個。芯片內部集成式存儲器管理系統(tǒng)采用一個32級先進先出(FIFO)緩沖器,可用于存儲32個X、Y和Z軸的數(shù)據(jù)樣本集,從而將主機處理器負荷降至最低,并降低整體系統(tǒng)功耗。同時,低功耗模式支持基于運動的智能電源管理,從而以極低的功耗進行閥值感測和運動加速度測量。ADXL345為多晶硅表面微加工結構,置于晶圓頂部。由于應用加速度,多晶硅彈簧懸掛于晶圓表面的結構之上,提供力量阻力。差分電容由獨立固定板和活動質量連接板組成,能對結構偏轉進行測量。加速度使慣性質量偏轉、差分電容失衡,從而傳感器輸出的幅度與加速度成正比。相敏解調用于確定加速度的幅度和極性。ADXL345的工作原理是:首先有前端感應器感測加速度大小,然后感應電信號器件將它轉換成可識別的電信號,此時的信號還是模擬信號。在芯片內部集成了AD轉化器,因此模擬信號經過轉化器變?yōu)閿?shù)字信號輸出。與計算機系統(tǒng)數(shù)字信號輸出類似,AD轉換器輸出的也是16位的二進制補碼。數(shù)字信號經過數(shù)字濾波器的濾波處理后,在控制和中斷邏輯單元的控制下訪問32級FIFO,單片機通過串行接口讀取三個軸的加速度數(shù)據(jù)。單片機通過對寄存器的操作,發(fā)送對串口的讀寫命令實現(xiàn)對ADXL345的控制。芯片內部的功能框圖如圖2.2所示。圖2.2 ADXL345芯片功能框圖2.2 ADXL345寄存器映射 表2.1 寄存器映射地址名稱類型復位值描述十六進制十進制0x000DEVIDR11100101器件ID0x01-0x1C1-28保留-保留不操作0x1D29THRESH_TAPR/00000000敲擊閾值0x1E30OFSXR/00000000X軸偏移0x1F31OFSYR/00000000Y軸偏移0x2032OFSZR/00000000Z軸偏移0x2133DURR/00000000敲擊持續(xù)時間0x2234LatentR/00000000敲擊延遲0x2335WindowR/00000000敲擊窗口0x2436THRESH_ACTR/00000000活動閾值0x2537THRESH_INACTR/00000000靜止閾值0x2638TIME_INACTR/00000000靜止時間0x2739ACT_INACT_CTLR/00000000軸使能控制活動和靜止檢測0x2840THRESH_FFR/00000000自由落體閾值0x2941TIME_FFR/00000000自由落體時間0x2A42TAP_AXESR/00000000單擊/雙擊軸控制0x2B43ACT_TAP_STATUSR00001010單擊/雙擊源0x2C44BW_RATER/00000000數(shù)據(jù)速率及功率模式控制0x2D45POWER_CTLR/00000000省電特性控制0x2E46INT_ENABLER/00000000中斷使能控制ADXL345共有30個寄存器(如表2.1所示),其中包括29個功能寄存器和1個識別設備標識的只讀寄存器DEVID的,地址分別為0x1D至0x39和0x00。單片機對ADXL345的控制操作主要是通過對其寄存器的讀寫來實現(xiàn)的,在訪問寄存器之前要先發(fā)送一個字節(jié)的讀寫地址信息。第7位是操作類型位,“1”表示讀操作,“0”表示寫操作;第6位是讀寫類型位,“1”表示多值讀寫,“0”表示單值讀寫。字節(jié)第5位至第1位是寄存器地址,根據(jù)需要可以選擇30個寄存器中的任意一個進行讀寫操作,實現(xiàn)對加速度傳感器的初始化和不同功能的控制。2.3 ADXL345主要寄存器定義介紹寄存器OFSX、OFSY、OFSZ(0x1E、0x1F、0x20)都是8位寄存器,在二進制補碼格式中提供用戶設置偏移調整,比例因子為15.6mg/LSB。通過實際測量,確定各個軸平均的偏移量,儲存在這三個寄存器中,然后偏移寄存器的存儲值會自動添加到加速度數(shù)據(jù)上,結果值存儲在輸出數(shù)據(jù)寄存器中。速率位(0x2C)能選擇器件帶寬和輸出數(shù)據(jù)速率,如表2.2所示。默認值為0x0A,轉換后為100Hz的輸出數(shù)據(jù)速率。在本畢業(yè)設計中,選擇了適合I2C通信協(xié)議和頻率的輸出數(shù)據(jù)速率12.5Hz,十六進制為0x08,若選擇太高的輸出數(shù)據(jù)速率和過低的通信速度會導致采樣的丟失,數(shù)據(jù)傳輸失敗。FIFO_CTL,設置緩存器具體的工作模式,比如Bypass、FIFO、Stream、Trigger 模式,各種模式區(qū)別如下:在Bypass 模式中,F(xiàn)IFO 緩存器是退化的,僅FIFO0存儲一次采樣結果,無論是否被讀取,新數(shù)據(jù)到來時將舊數(shù)據(jù)覆蓋;在FIFO 模式中,F(xiàn)IFO 緩存器不停地收集數(shù)據(jù)直到緩存器滿,此時如果沒有及時讀數(shù)據(jù),新到樣本數(shù)據(jù)將被丟棄,而當FIFO 被讀取后,它將繼續(xù)收集新到數(shù)據(jù);在Stream 模式中,F(xiàn)IFO 緩存器不停地收集數(shù)據(jù),當緩存器滿,自動丟棄FIFO0,其他樣本值向前移位填充,最新數(shù)據(jù)填入FIFO31;在Trigger 模式中,F(xiàn)IFO 開始工作與Stream 模式類似,收集樣本值直到FIFO 緩存器滿,然后丟棄最舊的數(shù)據(jù),一旦觸發(fā)事件發(fā)生(由FIFO_CTL 寄存器中TRIG_SOURCE 位所定義),F(xiàn)IFO 將保留最后n 采樣值(其中n 在FIFO_CTL 寄存器中指定),然后像FIFO 模式一樣運行,即FIFO 不滿時,繼續(xù)收集新的樣本值。表2.2 輸出數(shù)據(jù)速率輸出數(shù)據(jù)速率(Hz)帶寬(Hz)速率代碼IDD(A)320016001111140160080011109080040011011404002001100140200100101114010050101014050251001902512.510006012.56.250111506.253.130110453.131.560101401.560.780100340.780.390011230.390.20010230.20.10001230.10.05000023 寄存器INT_ENABLE(0x2E)字節(jié)格式如表2.3所示。寄存器設置位值為1,使能相應功能,生成中斷;設置為0時,阻止這些功能產生中斷。DATA_READY位、水印位和溢出位僅使能中斷輸出;這些功能總是處于使能狀態(tài),在本畢業(yè)設計中,在其輸出前進行了中斷配置,然后讀取寄存器內部數(shù)據(jù)。表2.3 寄存器INT_ENABLE字節(jié)格式D7D6D5D4DATA_READYSINGLE_TAPDOUBLE_TAPActivityD3D2D1D0InactivityFREE_FALLWatermarkOverrun范圍位(0x31)可以設置g范圍,如表2.4所述。在本設計中,選擇了16g范圍,全分辨率13位。 表2.4 范圍設置設置g范圍D1D0002g014g108g1116g寄存器DATAX0、DATAX1、DATAY0、DATAY1、DATAZ0和DATAZ1(0x32至0x37)都是8位字節(jié),保存各個軸的輸出數(shù)據(jù)。寄存器0x32和0x33保存x軸輸出數(shù)據(jù),寄存器0x34和0x35保存y軸輸出數(shù)據(jù),寄存器0x36和0x37保存z軸輸出數(shù)據(jù)。輸出數(shù)據(jù)為二進制補碼,DATAx0為最低有效字節(jié),DATAx1為最高有效字節(jié),其中x可代表X、Y或Z。DATA_ FORMAT寄存器(地址0x31)控制數(shù)據(jù)格式。在本設計中所有寄存器都執(zhí)行多字節(jié)讀取,防止相繼寄存器讀取之間的數(shù)據(jù)變化。2.4 測量傾斜角度原理2.4.1 加速度傳感器進行傾角測量簡介目前常用的確定平面系統(tǒng)傾斜的方法是對陀螺儀的輸出求積分。盡管這種方法簡單明了。但隨著積分周期的增加,與零偏穩(wěn)定性相關的誤差也可能快速增大,即使當器件處于靜止狀態(tài)時也可能導致明顯的旋轉。在某些凈加速度或者重力加速度的應用中,可以利用加速度傳感器來測量靜態(tài)傾斜角,這樣克服了陀螺儀的缺點。目前加速度傳感器測量角度的方法廣泛應用于數(shù)碼相機水平檢測,以及工業(yè)和醫(yī)學應用中檢測器件方向等。利用加速度傳感器進行傾斜檢測的基本假設是:加速度只與重力相關。實際上,可以對信號輸出進行信號處理,以消除其中的高頻組分,因而可以接受一定的交流加速度。傾斜角度檢測是利用重力矢量及其在軸上的投影來確定傾斜角由于重力是直流加速度,因此任何額外加入的直流加速度都會破壞輸出信號并且導致計算錯誤。造成直流加速度的因素包括車輛以恒定速率加速時的時間,以及在加速度傳感器上導致向心加速度的旋轉器件。另外,當目標軸上的重力投影發(fā)生變化時,通過重力旋轉加速度會導致明顯的交流加速度。在計算角度之前對加速度信號進行的任何過濾都會影響輸出達到新靜態(tài)值的速度。綜上所述,在本畢業(yè)設計中,測量平面傾斜角度時,要讓加速度傳感器在平面上保持一段時間的靜止,以保證角度測量的準確性。下面來介紹下ADXL345三軸加速度傳感器通過X、Y、Z軸上的重力加速度換算成傾斜角的基本原理。2.4.2 ADXL345測量角度原理通過ADXL345測量出X、Y、Z軸上的重力加速度分量大小,分別能得到X軸與水平面的夾角,Y軸與水平面的夾角,Z軸與水平面的夾角。設X軸的加速度分量為Ax,Y軸的加速度分量為Ay,Z軸的加速度分量為Az。對重力進行力學分析可得如下公式: (2.1) (2.2) (2.3) 圖2.3 水平儀的測量數(shù)學模型示圖 水平儀測量傾角的數(shù)學模型如圖2.3所示。如圖所示,DA代表X軸,DB代表Y軸,DG代表Z軸,DADB,假設X軸與水平面的夾角為,Y軸與水平面的夾角為,X軸與Y軸所組成的平面DAB與水平面的夾角為。過D點做水平面的垂線,垂足為點E,那么DAE=。DBE=。過E點做AB的垂線與AB交于C點,由立體幾何知識可知DCE就是平面EAB與水平面的夾角,即使水平儀要測量并顯示的角度。下面是推導、之間關系的過程,假設DE=1,由DEAE,DEBE可知: (2.4) 因為ADB為直角三角形,所以: (2.5)將AB代入式(2)得: (2.6)又因為DEC為一直角三角形,所以可得: (2.7)將式(1)代入式(5)得: (2.8)因為,所以: (2.9)由,推出: (2.10)即可得出被測面與水平面間的夾角: (2.11)由圖2.4.1的數(shù)學模型可知,角就是加速度傳感器Z軸與自然坐標系Z軸間夾角。同理可得,加速度傳感器X軸與自然坐標系X軸的夾角為: (2.12)加速度傳感器Y軸與自然坐標系Y軸的夾角為: (2.13)綜上分析,因為單片機能計算簡單的反三角函數(shù),所以在程序中利用公式(2.10)就能計算出需要的傾斜角度(弧度值),再將其進行轉化就能顯示直觀的角度值。在該畢業(yè)設計中,為了方便讀數(shù),無論Z軸的加速度值是正還是負,都將的值取在0-90之間。3 水平儀總體設計電子水平儀的測量系統(tǒng)主要由單片機、ADXL345三軸加速度傳感器、數(shù)碼顯示屏以及電源四部分構成。進行測量時,水平儀發(fā)生微小傾斜,傳感器的相對位置發(fā)生改變,按照測量算法就可得到傾斜角,結果通過LED數(shù)碼顯示屏顯示出來。圖3.1 水平儀系統(tǒng)設計原理框圖 本設計在選用傳感器方面,對比了三種,最終使用了誤差小,精度高的ADXL345三軸加速度傳感器,選擇了ADXL345芯片作為測量傾角的傳感器。在單片機方面最后使用了STC89C52單片機,以及液晶12864LED顯示屏共同完成本設計。3.1 水平儀硬件設計 通過上述幾章的分析,在了解了ADXL345的基本工作原理之后,開始進行智能水平儀的硬件設計。根據(jù)設計需要確定各部分器件的選型,購買合適的電路板,熟悉原理圖之后進行連線測試工作。硬件是一套系統(tǒng)的“軀體”,是系統(tǒng)能夠成功運行的基礎,沒有一個穩(wěn)定而且可靠的硬件系統(tǒng),就無法保證系統(tǒng)的穩(wěn)定運行。硬件設計的主要任務是根據(jù)總體設計所確定方案的要求,選擇符合設計指標所要求功能、精度、處理速度并且價格合理的器件,并在所選用元器件的基礎之上確定系統(tǒng)硬件擴展所需用到的I/O 接口電路以及外圍設備電路,然后設計系統(tǒng)的原理圖,根據(jù)原理圖設計 PCB電路圖,完成元器件的焊接和電氣特性測試。在該畢業(yè)設計中,我選擇了購買已經設計好的模塊來實現(xiàn)需要的功能。但是無論是硬件的設計還是選購都要遵循如下原則: (1)盡可能選擇典型電路,并符合單片機的常規(guī)用法9,為硬件系統(tǒng)的常規(guī)化和模塊化打下良好的基礎。同時硬件系統(tǒng)的設計應充分滿足系統(tǒng)的功能要求,并留有適當余地,以便進行二次開發(fā)。(2)硬件設計應結合軟件方案一并考慮。在進行總體設計時,系統(tǒng)的整套方案應了如指掌,充分考慮軟硬件的相互配合和相互影響。在不影響系統(tǒng)實時性的情況下,能夠由軟件實現(xiàn)的功能盡量由軟件實現(xiàn),這樣可以簡化硬件結構、節(jié)約硬件成本。 (3)系統(tǒng)中的相關器件要盡可能做到性能匹配。如選用芯片,單片機構成低功耗系統(tǒng)時,系統(tǒng)中所有芯片都應盡可能選擇低功耗產品;選用處理速度較快的處理器時,系統(tǒng)中相關芯片都應盡量選擇處理能力相近的芯片。 (4)單片機外圍電路較多時,必須考慮其驅動能力。驅動能力不足時,系統(tǒng)工作不可靠,可通過增設線驅動器增強驅動能力或減少芯片功耗來降低總線負載。根據(jù)設計的需要,將智能水平儀的硬件部分分為3個模塊:顯示模塊、單片機模塊、ADXL345加速度傳感器模塊。整個系統(tǒng)的硬件框圖如圖3.2所示。 圖3.2 系統(tǒng)硬件框圖3.1.1 單片機模塊 單片機是本系統(tǒng)的核心部分,在這個模塊中包括了單片機芯片、電源電路、復位電路、繼電器電路、串行口通信電平轉換電路、鍵盤電路、數(shù)碼管電路和液晶顯示電路,如圖3.3所示。電源電路為整個系統(tǒng)提供穩(wěn)定的5V直流電,保證系統(tǒng)正常工作。串行口通信電平轉換電路既能實現(xiàn)單片機與計算機間的全雙工通信,又能用于與其它單片機通信,同時方便計算機中的程序燒寫進單片機。單片機的串行口具有兩條獨立的數(shù)據(jù)線:發(fā)送端TXD和接收端RXD,它允許數(shù)據(jù)同時往兩個相反的方向傳輸。一般通信時發(fā)送數(shù)據(jù)由TXD端輸出,接收數(shù)據(jù)由RXD端輸入。 圖3.3 單片機硬件模塊3.1.2 LCD液晶顯示模塊為了使顯示效果更好,本畢業(yè)設計選擇了帶中文字庫的點陣液晶顯示屏FYD12864-0402B。該液晶屏支持4位/8位并行、2線或3線串行多種接口方式,內置8192個16*16點漢字和128個16*8點ASCII字符集,顯示分辨率為128*64。靈活的接口方式和簡單、方便的操作指令是12864顯示屏的優(yōu)點,其基本特征如下: (1)低電源電壓(VDD為3.0V至5.5V); (2)顯示分辨率:128*64; (3)2MHz時鐘頻率; (4)驅動方式:1/32DUTY、1/5BIAS; (5)內置DCCD轉換電路,無需外加負壓 (6)工作溫度:0+55,存儲溫度:-20+60; (7)背光方式:側部高亮白色LED,功率僅為普通LED的1/51/10。12864液晶顯示屏總共有20個管腳,根據(jù)表3.1的管腳功能描述,選擇并行接口模式,設計液晶屏與單片機連接的電路圖,如圖3.4所示。DB0DB7管腳連接到單片機的P0.0P0.7I/O接口,傳輸數(shù)據(jù)。RS管腳連接到單片機的P1.0端口,R/W管腳接到P1.1,EN管腳接到P1.2端口,改變三者的高低電平狀態(tài)實現(xiàn)讀寫不同的功能。 表3.1 并行接口管腳信號管腳號管腳名稱電平管腳功能描述1VSS0V電源地2VCC3.0-5V電源正3V0-對比度調整4RS(CS)H/LRS=1,表示DB7DB0為顯示數(shù)據(jù);RS=0,表示DB7DB0為顯示指令數(shù)據(jù);5R/W(SID)H/LR/W=1,E=1,數(shù)據(jù)被讀到DB7DB0;R/W=0,E=10,DB7DB0的數(shù)據(jù)被寫到IR或DR6E(SCLK)H/L使能信號7DB0H/L三態(tài)數(shù)據(jù)線8DB1H/L三態(tài)數(shù)據(jù)線9DB2H/L三態(tài)數(shù)據(jù)線10DB3H/L三態(tài)數(shù)據(jù)線11DB4H/L三態(tài)數(shù)據(jù)線12DB5H/L三態(tài)數(shù)據(jù)線13DB6H/L三態(tài)數(shù)據(jù)線14DB7H/L三態(tài)數(shù)據(jù)線15PSBH/L1:8位或4位并口方式,0:串口方式16NC-空腳17/RESETH/L復位端,低電平有效18VOUT-LCD驅動電壓輸出端19AVDD背光源正端20KVSS背光源負端圖3.4 12864液晶屏模塊電路圖3.1.3 ADXL345接口設計DXL345為用戶提供SPI和I2C兩種與單片機通信的方式。在這兩種方式下ADXL345都是作為從機運行。在該畢業(yè)設計中,采集三個軸的加速度數(shù)據(jù)和對其進行控制操作都是通過I2C方式來完成的。下面分別介紹下這兩種通信方式。 (1) SPI通信接口設計 SPI(Serial Peripheral Interface)即串行外圍設備接口,是Motorola首先在其處理器上推出的同步接口技術。每個SPI系統(tǒng)由一個主機,一個或者多個從機構成。主機是微控制器,提供SPI時鐘信號;從機是接受SPI信號的集成電路,如ADXL345傳感器。SPI模式可配置成3線或4線方式,4條線分別為SDI(數(shù)據(jù)輸入)、SDO(數(shù)據(jù)輸出)、SCLK(時鐘)和CS(片選)。連線方式如圖3.5和圖3.6所示。 圖3.5 ADXL345的SPI通信4線連接方式 圖3.6 ADXL345的SPI通信3線連接方式 在執(zhí)行不同不連續(xù)寄存器的讀取或寫入時,傳輸之間必須失效,新寄存器進行另行處理。(2) I2C通信接口設計簡單性和有效性是I2C總線最主要的優(yōu)點11。一方面,由于接口直接再組件之上,因此它占用的空間很小,減少了電路板的空間和芯片管腳數(shù)量。另一方面,總線的長度最長可以達到7.6米,能夠支持40個組件并以10KBPS的最大傳輸速率傳輸數(shù)據(jù)。I2C另一個優(yōu)點是支持多主控,其中任何能夠進行發(fā)送和接受的設備都可以成為主總線,并控制信號的傳輸和系統(tǒng)時鐘頻率。ADXL345的I2C通信過程:將引腳拉高至VDDI/O,通過簡單的2線式連接,ADXL345便處于I2C模式。連線方式如圖3.6所示。如果滿足I2C總線協(xié)議規(guī)定和用戶手冊,便能支持標準100kHz和快速400kHz數(shù)據(jù)傳輸模式。同時它還支持單個或者多個字節(jié)的讀取/寫入。當ALT ADDRESS引腳處于高電平時,ADXL345的7位I2C地址是0x1D,讀寫地址分別為0x3B和0x3A。當ALT ADDRESS接地時,可以選擇備用的I2C地址0x53,讀寫地址分別為0xA7和0xA6。使用該方式時,引腳必須連接至VDDI/O,ALT ADDRESS引腳必須連接至任一VDDI/O或接地,否則任何已知狀態(tài)或默認狀態(tài)將不存在。圖3.7 ADXL345的I2C通信連接方式3.1.4 ADXL345加速度傳感器模塊DXL345芯片共有14個管腳,管腳描述如表3.2所示。在前面已經詳細敘述了I2C通信的基本原理,以及ADXL345與單片機I2C通信的連線方式,按照圖3.7和引腳說明,就能進行ADXL345的接口設計,如圖3.8所示。VDDI/O和VS接3.3V電壓,3腳和11腳的RESERVED懸空,8腳和9腳接單片機的中斷源,10腳NC懸空。12腳接地,其余3個引腳都接地。I2C通信需要上拉電阻,因此11腳SCL、13腳SDA、7腳CS都接上10K的電阻。另外,需要在電源上接兩個電容,大小分別為10uF和0.1uF。最后,利用跳線將SDA和SCL腳與單片機I/O連接即可。引腳編號引腳名稱描述1VDDI/O數(shù)字接口電源電壓2GND該引腳必須接地3RESERVED保留,該引腳必須連接到VS或保持斷開4GND該引腳必須接地5GND該引腳必須接地6VS電源電壓7片選8INT1中斷1輸出9INT2中斷2輸出10NC內部不連接11RESERVED保留,該引腳必須接地或保持斷開12SDO/ALT ADDRESS串行數(shù)據(jù)輸出(SPI 4線)/備用I2C地址選擇13SDA/SDI/SDIOI2C數(shù)據(jù)/ SPI 4線數(shù)據(jù)輸入/SPI 3線數(shù)據(jù)輸入和輸出14SCL/SCLK串行通信時鐘。SCL為I2C時鐘,SCLK為SPI時鐘表3.2 ADXL345引腳描述 圖3.8 ADXL345電路模塊由于ADXL345的正常工作電壓是2.0V3.6V,而89C52單片機的工作電壓是5V,為了使ADXL345連接到系統(tǒng)電路中能正常工作,必須設計一個電平轉換電路。在本畢業(yè)設計中,利用芯片RT9161將5V輸入電壓轉換成3.3V輸出電壓,電路圖如圖3.9所示 圖3.9 電平轉換電路圖3.10 ADXL345模塊3.2 水平儀軟件設計 如果說硬件是系統(tǒng)的“軀體”,那么軟件就是系統(tǒng)的“靈魂”。一套系統(tǒng)的智能化在很大程度上是通過軟件表現(xiàn)出來的。在具有穩(wěn)定可靠硬件基礎的條件下,軟件對硬件系統(tǒng)各部件進行統(tǒng)一調度,對從加速度傳感器部分采集到的數(shù)據(jù)信息進行綜合計算處理,最終實現(xiàn)設計的各種功能。 對于本畢業(yè)設計而言,從硬件模塊的角度來講,軟件部分可以分為液晶顯示驅動程序、單片機模塊初始化、ADXL345加速度傳感器模塊。模塊化的程序設計提高了程序的可讀性和可移植性,便于程序的調試,程序流程圖如圖3.11所示。單片機編程是使用Keil C51軟件,它是美國Keil Software公司出品的51系列兼容單片機C語言軟件開發(fā)系統(tǒng),提供了豐富的庫函數(shù)和功能強大的集成開發(fā)調試工具。同時,程序燒錄軟件是STC官方燒錄工作。單片機是整個系統(tǒng)的“心臟”,全部的軟件設計都要在單片機上運行。但是在單片機模塊程序設計中,主函數(shù)設計的較為簡單,主要內容是單片機、LCD屏幕和ADXL345加速度傳感器的初始化,以及利用I/O端口模擬I2C讀寫數(shù)據(jù),下面詳細介紹I2C通信協(xié)議和另外兩個模塊的程序設計。圖3.11 軟件設計流程圖3.2.1 I2C總線協(xié)議分析 I2C總線類型是由飛利浦半導體公司在八十年代初設計出來的,主要用來連接整體電路。隨著大規(guī)模集成電路技術的發(fā)展,單片機和外圍設備需要進行擴展,擴展方式一種是并行總線,另一種是串行總線。由于串行總線連線少,結構簡單,因此飛利浦公司在十幾年前就推出I2C串行總線。I2C協(xié)議是單片機與ADXL345加速度傳感器通信的協(xié)議。(1)I2C總線時序分析I2C總線具有以下幾點特征: 只要求兩條總線線路:一條串行數(shù)據(jù)線SDA,一條串行時鐘線SCL; 每個連接到總線的器件都可以通過唯一的地址和一直存在的簡單的主機/從機關系軟件設定地址,主機可以作為主機發(fā)送器或主機接收器; 它是一個真正的多主機總線,如果兩個或更多主機同時初始化,數(shù)據(jù)傳輸可以通過沖突檢測和仲裁防止數(shù)據(jù)被破壞; 串行的8位雙向數(shù)據(jù)傳輸位速率在標準模式下可達100kbit/s,快速模式下可達400kbit/s,高速模式下可達3.4Mbit/s; 連接到相同總線的IC數(shù)量只受到總線的最大電容400pF 限制。數(shù)據(jù)位的有效性I2C總線進行數(shù)據(jù)傳送時,時鐘信號為高電平期間,數(shù)據(jù)線上的數(shù)據(jù)必須保持穩(wěn)定,只有在時鐘線上的信號為低電平期間,數(shù)據(jù)線上的高電平或低電平狀態(tài)才允許變化。圖3.12 I2C總線的位傳輸啟示和停止條件在I2C總線中,定義了起始條件S和停止條件P兩種情況,如圖3.13所示。當SCL線是高電平時,SDA線從高電平向低電平切換產生下降沿,這個情況表示起始條件。當SCL線是高電平時,SDA線由低電平向高電平切換產生上升沿,這個情況表示停止條件。起始條件和停止條件一般是由主機產生,總線在起始條件后被認為處于忙的狀態(tài),在停止條件的時間里總線被認為處于空閑狀態(tài)。如果產生重復起始條件而不產生停止條件,總線會一直處于忙的狀態(tài),此時的起始條件(S)和重復起始條件(Sr) 在功能上是一樣的。圖3.13 起始和停止條件如果連接到總線的器件合并了必要的接口硬件,那么用它們檢測起始和停止條件是十分簡便的,但是如果沒有這種接口的微控制器在每個時鐘周期至少要采樣SDA線兩次來判別是否有電平切換發(fā)生。字節(jié)格式通信過程中發(fā)送到SDA線上的每個字節(jié)必須為8位,每次傳輸可以發(fā)送的字節(jié)數(shù)量不受限制。每個字節(jié)后必須跟一個響應位(0是應答,1是非應答)。首先傳輸?shù)氖菙?shù)據(jù)的最高位(MSB),如果從機要完成一些其他功能后才能接收或發(fā)送下一個完整的數(shù)據(jù)字節(jié),可以使時鐘線SCL保持低電平,迫使主機進入等待狀態(tài),當從機準備好接收下一個數(shù)據(jù)字節(jié)并釋放時鐘線SCL后數(shù)據(jù)傳輸繼續(xù)。應答響應數(shù)據(jù)傳輸必須帶響應,相關的響應時鐘脈沖由主機產生。在響應的時鐘脈沖期間發(fā)送器釋放SDA線(高)。在響應的時鐘脈沖期間,接收器必須將SDA 線拉低,使它在這個時鐘脈沖的高電平期間保持穩(wěn)定的低電平。通常被尋址的接收器在接收到的每個字節(jié)后,除了用CBUS 地址開頭的數(shù)據(jù),必須產生一個響應。當從機不能響應從機地址時,從機必須使數(shù)據(jù)線保持高電平,然后主機產生一個停止條件終止傳輸或者產生重復起始條件開始新的傳輸。如果從機接收器響應了從機地址,但是在傳輸了一段時間后不能接收更多數(shù)據(jù)字節(jié),主機必須再一次終止傳輸。這個情況用從機在第一個字節(jié)后沒有產生響應來表示。從機使數(shù)據(jù)線保持高電平,主機產生一個停止或重復起始條件。如果傳輸中有主機接收器,它必須通過在從機不產生時鐘的最后一個字節(jié)不產生一個響應,向從機發(fā)送器通知數(shù)據(jù)結束。從機發(fā)送器必須釋放數(shù)據(jù)線,允許主機產生一個停止或重復起始條件。讀寫數(shù)據(jù)過程單片機進行寫操作時,首先發(fā)送該器件的7位地址碼和寫方向位“0”(共8位,即一個字節(jié)),發(fā)送完后釋放SDA線并在SCL線上產生第9個時鐘信號。被選中的存儲器在確認是自己的地址后,在SDA線上產生一個應答信號,單片機在收到應答信號后開始傳送數(shù)據(jù)。單片機進行讀數(shù)據(jù)時,首先發(fā)送該器件的7位地址碼和寫方向位“0”(偽寫),發(fā)送完后釋放SDA線并在SCL線上產生第9個時鐘信號。被選中的存儲器在確認是自己的地址后,在SDA線上產生一個應答信
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 消防監(jiān)控室火災應急預案(3篇)
- 行政法學法律法規(guī)及試題答案匯編
- 森林火災應急預案培訓(3篇)
- 幼兒園大樹火災應急預案(3篇)
- 行政法在公民社會中的地位試題及答案
- 手術室火災應急預案文本(3篇)
- 廚房火災事件應急預案(3篇)
- 電廠火災應急預案演練(3篇)
- 易燃易爆火災應急預案(3篇)
- 高樓逃生火災應急預案(3篇)
- 精準結直腸癌外科診療專家共識(2025版)解讀
- 2025年四川省成都市青羊區(qū)中考數(shù)學二診試卷
- 勞動鑄就夢想奮斗開創(chuàng)未來課件-高一下學期五一勞動節(jié)勵志主題班會
- 事故隱患內部報告獎勵制度
- 2024年高考真題-地理(河北卷) 含答案
- 深圳某旅游口岸施工組織設計
- GB∕T 25684.6-2021 土方機械 安全 第6部分:自卸車的要求
- 四川省職工住房補貼實施辦法
- 學生活動場地借用流程
- 遼寧醫(yī)院明細.xls
- JYC全自動變頻抗干擾介質損耗測試儀
評論
0/150
提交評論