【正文】
% 傾角測試原理及角度計算方法1) .傾角測量原理MMA7260Q用于傾角測量是最典型的應(yīng)用之一,它以重力( F =mgn )為輸入矢量來決定物體在空間的姿態(tài)。 }第四章 實(shí)驗(yàn)測試結(jié)果及傾角測試原理由于測試條件有限,及板子的焊接也存在誤差。t++)。 P21=0。 } if (isBit==1) { P21=1。 SPDAT=spidata。要顯示的數(shù)據(jù)有:當(dāng)前時間,當(dāng)前角度值,角度的上限值和角度的下限值。} l_Alarm_Time++。amp。 H_is_add=0。(Is_LOWalarm==0)amp。 } //低于下限時,進(jìn)行下限報警if((Is_HIalarm==1)amp。 Is_LOWalarm=1。 stop=1。 } //若在正常范圍內(nèi),則停止報警 else if(temp0=HIlimit) { Start_HIalarm()。 if((temp0=HIlimit)amp。報警計數(shù)需要注意的是:怎樣區(qū)別相鄰兩次的不同報警及不論一次報警時間的長短,都屬于一次報警。00表示不受限制,YY表示實(shí)際次數(shù)(不能為00)。由于是定時發(fā)送,通過對數(shù)據(jù)的分析知道上位機(jī)收到的數(shù)據(jù)可能有重復(fù)的,或者是有FF字樣。由上位機(jī)給單片機(jī)發(fā)送一組命令數(shù)據(jù),單片機(jī)受到命令經(jīng)過分析后認(rèn)為正常,則按照命令執(zhí)行操作。 while(delay_flag==0)。amp。amp。 //去抖動 while(delay_flag==0)。amp。amp。 while(delay_flag==0)。amp。amp。 //去抖動 while(delay_flag==0)。amp。amp。S4作為調(diào)節(jié)完畢后返回當(dāng)前時間和當(dāng)前角度值顯示之用。} 在軟件的編寫上,可以采用軟件查詢方式對按鍵進(jìn)行識別[16]。 // 地址,命令 ucData = DS1302OutputByte()。 DS1302_RST = 0。 // 地址,命令 DS1302InputByte(ucDa)。 }void Write1302(unsigned char ucAddr, unsigned char ucDa) //ucAddr: DS1302地址, ucData: 要寫的數(shù)據(jù){ DS1302_RST = 0。 ACC7 = DS1302_IO。 } }unsigned char DS1302OutputByte(void) //實(shí)時時鐘讀取一字節(jié)(內(nèi)部函數(shù)){ unsigned char i。 i) { DS1302_IO = ACC0。 DS1302的控制字和各寄存器名稱命令字取值范圍寫操作讀操作 秒寄存器80H81H0099 分寄存器82H83H0099 時寄存器84H85H1—12或0023 日寄存器86H87H01—28,29 月寄存器88H89H0112 周寄存器8AH8BH0107 年寄存器8CH8DH0099開始變量初始化使DS1302不具有寫保護(hù)復(fù)位產(chǎn)生1個高電平寫DS1302地址延時一段時間向該地址寫數(shù)據(jù)復(fù)位產(chǎn)生1個高電平數(shù)據(jù)寫完?寫DS1302地址延時一段時間讀該地址寫數(shù)據(jù)數(shù)據(jù)讀完?顯示數(shù)據(jù) DS1302實(shí)時時鐘流程圖部分程序://Ds1302void DS1302InputByte(unsigned char d) //實(shí)時時鐘寫入一字節(jié)(內(nèi)部函數(shù)){ unsigned char i。2) 數(shù)據(jù)輸入輸出(I/O) 在控制指令字輸入后的下一個SCLK時鐘的上升沿時,數(shù)據(jù)被寫入DS1302,數(shù)據(jù)輸入從低位即位0開始??刂谱止?jié)的最高有效位(位7)必須是邏輯1,如果它為0,則不能把數(shù)據(jù)寫入DS1302中。 return(dat)。 ISP_TRIG = 0xb9。 ISP_ADDRL = addramp。}//字節(jié)讀功能unsigned char byte_read(unsigned int addr) //送地址{ unsigned char dat。 ISP_TRIG = 0x46。 ISP_ADDRL = addramp。 iap_disable()。 EA=0。 //系統(tǒng)工作時鐘12Mhz 打開IAP功能 ISP_CMD = 0x03。稱之為一個數(shù)據(jù)塊。進(jìn)行字節(jié)編程時,只能將“1”改為“0”,或“1”保持為“1”,“0”保持為“0”。STC12C5410AD單片機(jī)內(nèi)部集成了2K字節(jié)的數(shù)據(jù)Flash存儲器(EEPROM),地址范圍是2800H~2FFFH。 //分子分母同時擴(kuò)大1000倍 return(*asin(q2))。} 將濾波后的結(jié)果帶入公式: 800 ()就可以得到角度值。 for(count=0。其濾波效果與所選擇的采樣次數(shù)有關(guān),次數(shù)越大,效果越好,但花費(fèi)時間越長[15]。A/D采樣率的選擇不能干擾加速度計采樣頻率(11kHz) ,以防混疊誤差。 第三章 軟件設(shè)計軟件采用Keil uVision3作為下位機(jī)系統(tǒng)的開發(fā)平臺。 接收按鍵信號的時候,會出現(xiàn)前沿和后沿抖動, 采用用軟件延時的辦法消除抖動[13]。、分別與加速度傳感器MMA7260Q三軸向模擬信號輸出XOUT、YOUT、ZOUT連接,實(shí)現(xiàn)加速度信號的采集;。11) 通用I/O口,可以設(shè)置為4種工作模式,有準(zhǔn)雙向口/弱上拉,僅為輸入/高阻,開漏,推挽/強(qiáng)上拉。5) 12K/10K/8K/6K/4K/2K字節(jié)片內(nèi)的程序Flash存儲器,可以擦寫10萬次以上 6) 512字節(jié)片內(nèi)數(shù)據(jù)存儲器 ,內(nèi)部集成了2K字節(jié)的數(shù)據(jù)Flash存儲器(EEPROM)。該單片機(jī)有以下性能:1) 高速:1個時鐘周期/機(jī)器時間,增強(qiáng)8051內(nèi)核,速度比普通51單片快8~12倍。~。,該芯片可以從USB接口處獲取電源。設(shè)計現(xiàn)在CP2102來實(shí)現(xiàn)RS232~USB之間的轉(zhuǎn)換。RS232接口與USB接口雖然都屬于串行接口,但它們的數(shù)據(jù)格式、通信協(xié)議、信號電平以及機(jī)械連接方式則不同。系統(tǒng)首先由SPI分別向兩片74HC595先發(fā)送段碼再發(fā)送位碼,兩片74HC595實(shí)現(xiàn)數(shù)碼管段碼和位碼的控制,顯示方式采用動態(tài)掃描方式。/G(13腳): 高電平時禁止輸出(高阻態(tài))。系統(tǒng)選74HC595有8位串行輸入/輸出或者并行輸出功能的芯片。系統(tǒng)當(dāng)前角度,角度下限值和時間都采用LED數(shù)碼管來顯示。傳輸完一個字節(jié)后,SPI 時鐘發(fā)生器停止,傳輸完成標(biāo)志(SPIF)置位并產(chǎn)生一個中斷(如果SPI中斷使能)。在數(shù)據(jù)寫入SPDAT之后的半個到一個SPI位時間后,數(shù)據(jù)將出現(xiàn)在MOSI引腳。此外,SPI接口還具有傳輸完成標(biāo)志和寫沖突標(biāo)志保護(hù)功能。STC12C5410AD單片機(jī)集成了SPI接口,它是一個全雙工高速同步通信接口,既可以和其他微處理器通信,也可以與具有SPI兼容接口的器件,如存儲器、A/D轉(zhuǎn)換器、D/A轉(zhuǎn)換器、LED或LCD驅(qū)動器等進(jìn)行同步通信。 LED顯示模塊 SPI簡介1.SPI簡介串行外設(shè)接口(Serial Peripheral Interface,簡稱SPI)實(shí)際上是一種串行總線接口標(biāo)準(zhǔn),SPI方式可允許同時同步接收和傳送8位數(shù)據(jù),是一種全雙工串行總線。計算公式如公式21所示。當(dāng)提供其高電平時,傳感器就會保持正常的運(yùn)行模式。ASIC再進(jìn)行信號調(diào)理和信號濾波(使用開關(guān)電容) ,最后輸出正比于加速度的電壓。中間板移動時,它到一邊(固定的面板)的距離增加,而到另一邊的距離相應(yīng)地減少,這種距離的變化可用來表征加速度。重力檢測單元將檢測到的加速度變化量信號送到C V轉(zhuǎn)換電路,而后進(jìn)行取樣、保持及信號放大處理,最后用低通濾波器濾除高頻噪音,在溫度補(bǔ)償處理后即可輸出加速度信息。同時它包含一種睡眠模式,MMA7260Q能在XYZ 三個軸向上以極高的靈敏度讀取低重力水平的墜落、傾斜、移動、放置、震動和搖擺[10]。 系統(tǒng)的功能是通過傾角傳感器采集角度信息,傳送給單片機(jī)。第三章:傾角測量系統(tǒng)軟件設(shè)計。闡述課題的背景及意義,研究現(xiàn)狀,最后給出了全文的主要工作和章節(jié)安排。一般的測量方法是:以單片機(jī)為中心,系統(tǒng)在單片機(jī)的控制下進(jìn)行數(shù)據(jù)采集、數(shù)據(jù)處理、溫度補(bǔ)償、控制和顯示,并完成與上位機(jī)的通信等[17]。Introduces the hardware acceleration sensor MMA7260Q principle, the selection of microcontroller, serial munication module. The system uses the DS1302 clock chip for the angle acquisition time label, there is the keyboard, showing part of manmachine interface the system can set the alarm value perspective and the perspective of realtime, display the current data and achieve sound and light alarm. Software design introduces some of the major use of the DS1302, the perspective of data collection, storage and data munication with the host puter, and gives some important subroutine. Finally, the paper has given the actual method of angle test and result of the test.Key words: STC12 MCU。最后給出了實(shí)際角度測試的方法與測試結(jié)果。硬件方面主要介紹了MMA7260Q加速度傳感器的原理,微控制器的選型,串行通信模塊。論文介紹了總體方案設(shè)計、各個模塊的硬件組成和軟件設(shè)計。角度數(shù)據(jù)通過虛擬串口上傳到上位機(jī)進(jìn)行分析處理。 角度測量 AbstractAn angle data acquisition system is designed and realized in this thesis, which based on singlechip of STC12 as the MCU. Use three axle acceleration instrument MMA7260Q to carry on the measurement of dip angle. The paper introduces the overall concept design, each module hardware position and the software design。在國內(nèi)在生產(chǎn)生活的各個領(lǐng)域,傾角的測量已普遍存在。本文分五章對研究課題進(jìn)行闡述:第一章:緒論。重點(diǎn)介紹了基于加速度傳感器MMA7260Q的數(shù)據(jù)采集模塊、微處理器模塊的電路設(shè)計。第二章 角度測量系統(tǒng)硬件設(shè)計 硬件功能及總體結(jié)構(gòu)系統(tǒng)由單片機(jī)、傾角傳感器、鍵盤編碼器、鍵盤、數(shù)碼管驅(qū)動器和數(shù)碼管等組成。 信號采集模塊 加速度傳感器MMA7260Q簡介MMA7260Q是一種低成本單芯片三軸向高靈敏度加速度傳感器,基于表面微機(jī)械結(jié)構(gòu),集成信號調(diào)理電路、單極點(diǎn)低通濾波器和溫度補(bǔ)償部分,并且具有4種不同的靈敏度選擇模式。在IC內(nèi)部主要由雙芯片構(gòu)成,即重力檢測單元(負(fù)責(zé)加速度的偵測)與IC控制單元(負(fù)責(zé)信號處理) 。當(dāng)系統(tǒng)被給定一加速度時,中間板就會漂移。在ASIC (專用集成電路)(Application Specific Integrated Circuit)中使用開關(guān)電容測量出GCELL 的電容值,并從他們的差值中解析出加速度數(shù)據(jù)。睡眠模式( Sleep Mode) :當(dāng)要提供MMA7260Q 12引腳(Sleep Mode)低電平時,傳感器在低功耗模式下運(yùn)行,此時運(yùn)行電流僅為3μA。,加速度傳感器靈敏度選擇引腳gselectgselect2全部接為低電平。另外,A / D采樣率的選擇不能干擾加速度計采樣頻率(11kHz) ,以防混疊誤差。同一總線上也可以有多個主機(jī),當(dāng)兩個或多個主機(jī)試圖同時進(jìn)行數(shù)據(jù)傳輸時,需要進(jìn)行碰撞檢測[11]。在主模式中支持高達(dá)3Mbit/s的速率(