基于加速度傳感器MMA8451的振動檢測儀設(shè)計
摘要 MMA8451是一款低電壓供電,電容式微機(jī)械全數(shù)字式的傳感器,可測量三軸方向的加速度?;谶@款高性能的傳感器,設(shè)計出主從式振動檢測儀器。文中介紹了整個電路的設(shè)計思路與組成結(jié)構(gòu),給出了作為前端傳感器在虛擬儀器中的應(yīng)用,并且給出了測試結(jié)果。使用主從式對虛擬儀器進(jìn)行設(shè)計,實現(xiàn)了預(yù)定目標(biāo)并且擺脫了虛擬儀器開發(fā)對LabView的依賴。
關(guān)鍵詞 振動檢測;三軸加速度傳感器;虛擬儀器
自從美國國家儀器公司(NI)提出基于計算機(jī)技術(shù)的虛擬儀器概念以來,電子儀器得到了較大的發(fā)展。現(xiàn)在的虛擬儀器大多使用基于NI公司的LabView專用的PCI總線的數(shù)據(jù)采集卡,但是受PC機(jī)箱和總線限制,電源功率不足,機(jī)箱內(nèi)部的噪聲電平較高,機(jī)箱內(nèi)無屏蔽等諸多缺點,限制了虛擬儀器的推廣與使用。文中使用主從式虛擬儀器用以代替?zhèn)鹘y(tǒng)的PCI總線的數(shù)據(jù)采集卡,主從式虛擬儀器由主機(jī)和從機(jī)兩部分組成,從機(jī)即為該振動檢測電路,完成數(shù)據(jù)的處理和數(shù)據(jù)的顯示。
1 從機(jī)硬件結(jié)構(gòu)
設(shè)計基于主從式虛擬儀器的設(shè)計思想,使用單片機(jī)作為從機(jī)的控制系統(tǒng),由于STC89C52RC性價比高并且應(yīng)用技術(shù)成熟等特點,故采用其作為從機(jī)的控制芯片。單片機(jī)用于接收傳感器信號并進(jìn)行數(shù)據(jù)處理,通過串行口發(fā)送到主機(jī)進(jìn)行數(shù)據(jù)分析和顯示。這種設(shè)計的優(yōu)點是既可以與筆記本計算機(jī)相連,方便野外作業(yè),又可與臺式PC機(jī)相連,實現(xiàn)臺式和便攜式兩用,使用方便?;驹O(shè)計思想框圖如圖1所示。
1.1 傳感器及其外圍電路設(shè)計
MMA8451數(shù)字式三軸加速度傳感器是飛思卡爾公司新推出的一款低電壓供電,電容式微機(jī)械傳感器,其最高精度可達(dá)14位。傳感器采用QFN封裝,靈活的可編程選項,擁有兩個可配置的中斷端口。其模式可選,在嵌入式系統(tǒng)中可大幅地節(jié)省電量,傳感器內(nèi)部自帶低通濾波器功能,在作振動檢測時可以快速作出反應(yīng)。在嵌入式系統(tǒng)應(yīng)用中,靜止?fàn)顟B(tài)時可以保持功耗狀態(tài),并且器件可以由中斷信號喚醒。
作為一款數(shù)字式輸出的傳感器,相比于傳統(tǒng)的輸出模擬信號的傳感器而言,無需添加A/D轉(zhuǎn)換器,并且傳感器的集成電路自帶高通濾波器,大幅簡化了外圍電路的設(shè)計,其典型電路如圖2所示。
I2C協(xié)議:由于MMA8451默認(rèn)使用I2C協(xié)議,所以,在此將對I2C的工作方式進(jìn)行解釋。I2C總線使用3根信號線進(jìn)行通信,分別是SCL、SDA和SA0,外部上拉電阻需要將SDA和SCL接到VDD的IO上,當(dāng)總線空閑時,這兩根線表現(xiàn)為高電平狀態(tài)。MMA8451的I2C接口可工作在快速模式400 kHz或普通模式100 kHz。
總線傳輸開始由START信號觸發(fā),START信號定義為,當(dāng)數(shù)據(jù)線從高電平跳變到低電平,而時鐘線SCL仍然保持高電平。由主機(jī)發(fā)送START信號后,I2C總線被認(rèn)為從空閑狀態(tài)進(jìn)入忙狀態(tài)。緊接著START信號后主機(jī)發(fā)送的字節(jié),前7位用于指示從機(jī)地址,第8位用于指示數(shù)據(jù)方向是讀出還是寫入。地址發(fā)送完畢后,總線上的所有從機(jī)將自己的地址和總線上接收到的地址進(jìn)行比較,地址匹配的設(shè)備即為主機(jī)選中設(shè)備。第9個脈沖為應(yīng)答響應(yīng),發(fā)送設(shè)備必須在這個ACK周期內(nèi)釋放數(shù)據(jù)線,而接收設(shè)備則需要在ACK周期的時鐘高電平期間將數(shù)據(jù)線拉低。
SCL線是高電平時,SDA線由低電平向高電平切換,這個情況表示停止條件。停止條件將終止發(fā)送器的發(fā)送。
1.2 單片機(jī)STC89C52RC
從機(jī)的核心部件采用宏晶科技推出的新一代高速、低功耗、超強(qiáng)抗干擾的單片機(jī)STC89C52RC,指令代碼完全兼容傳統(tǒng)8051單片機(jī),其性能與可靠性完全滿足本次設(shè)計的需求。工作時的基本參數(shù)為:工作頻率范圍,0~40 MHz,相當(dāng)于普通8051的0~80 MHz,實際工作頻率可達(dá)48 MHz;用戶應(yīng)用程序空間為8 kByte;12時鐘/機(jī)器周期和6時鐘/機(jī)器周期可以任意選擇;片上集成512 Byte RAM;ISP/IAP,無需專用編程器,無需專用仿真器,可通過串口直接下載用戶程序,具有EEPROM功能;具有看門狗功能;共3個16位定時器/計數(shù)器。
1.3 5 V轉(zhuǎn)3.3 V電源電路
由于現(xiàn)今晶體管尺寸在持續(xù)減小,電路集成度越來越高,晶體尺寸也隨之減小。導(dǎo)致晶體管擊穿電壓也變更低,但當(dāng)擊穿電壓低于電源電壓時,則要求減小電源電壓。對于MMA8451電路而言,就是用3.3 V電源。
由于單片機(jī)的速度和復(fù)雜性,使之達(dá)到了足以要求降低電源電壓的程度,并正在向5 V電源電壓以下轉(zhuǎn)換。但絕大多數(shù)接口電路仍然是為5 V電源而設(shè)計的。為使MMA8451電路正常工作,需要將5 V電源轉(zhuǎn)換為3.3 V。另外,這個任務(wù)不僅包括邏輯電平轉(zhuǎn)換,同時還包括為3.3 V系統(tǒng)供電、電壓電流穩(wěn)定問題、轉(zhuǎn)換模擬信號使之避開從5~3.3 V的障礙。
設(shè)計采用LM1117電路,LM1117是一個低壓差三端可調(diào)穩(wěn)壓集成電路。其壓差在1.2 V輸出,電流為800 mA時為1.2 V。LM1117有可調(diào)電壓的版本,通過兩個外部電阻可實現(xiàn)1.25~13.8 V輸出電壓范圍。另外還有5個固定電壓輸出的型號。
LM1117的典型應(yīng)用如圖3所示,在電路中,輸出端需要一個至少10μF的鉭電容來改善瞬態(tài)響應(yīng)和穩(wěn)定性。
1.4 通信電平轉(zhuǎn)換電路的選擇
由于MMA8451的輸出數(shù)據(jù)速率為1.56~800 Hz,所以在這種速率的傳輸模式下,使用這種接口簡單、使用方便、價格低廉的串口通信方式,成為一種合理的選擇,由于單片機(jī)STC89C52RC采用TTL電平,但PC機(jī)的串行口使用RS-232的電平,所以單片機(jī)與電腦不能直接連接,首先必須進(jìn)行RS-232電平與TTL電平的轉(zhuǎn)換。所以在本設(shè)計中使用MAX232作為通信電平轉(zhuǎn)換芯片。
2 振動檢測電路的軟件設(shè)計
從機(jī)按照主機(jī)的指令,完成數(shù)據(jù)采集,并且將數(shù)據(jù)暫時存儲,在串口空閑的時候?qū)?shù)據(jù)發(fā)送給主機(jī)。主程序的工作流程如圖4所示,圖5為串口發(fā)送程序的流程圖。在圖5中,連續(xù)發(fā)送FF的原因在于選擇上位機(jī)顯示程序中的示波器功能。
3 測試結(jié)果
上位機(jī)顯示軟件為軟件開發(fā)采用VS2010的集成開發(fā)環(huán)境,使用C#語言模塊化編程,為系統(tǒng)調(diào)試帶來極大的方便。由于傳感器輸出為數(shù)字信號,單片機(jī)經(jīng)過處理后送入示波器,示波器采數(shù)字上位機(jī)軟件示波器。圖6為示波器界面顯示的測試結(jié)果。
4 結(jié)束語
設(shè)計實現(xiàn)了振動檢測的幾個基本功能。而且它擺脫了LabView的束縛,所以具有較高開放性和擴(kuò)展空間。當(dāng)然,本設(shè)計還有許多需要改進(jìn)的地方,如提高通信的速度和可靠性,提高從機(jī)的數(shù)據(jù)處理速度,除此之外,還需在軟件算法上作進(jìn)一步優(yōu)化,以提高測試精度,減小數(shù)據(jù)誤差。