賈玉鳳+宋成祥
摘 要 本文以STC89CS52單片機(jī)為核心給出了風(fēng)速風(fēng)向測(cè)量系統(tǒng)的硬件及軟件設(shè)計(jì)方案,系統(tǒng)的硬件分為電源部分,風(fēng)速采集部分,風(fēng)向采集部分,單片機(jī)部分等;軟件部分的設(shè)計(jì)采用模塊編程,并且詳細(xì)介紹了光電編碼技術(shù)在風(fēng)速風(fēng)向測(cè)量中的應(yīng)用。
【關(guān)鍵詞】單片機(jī) 光電編碼器 LED 測(cè)量
1 設(shè)計(jì)方案
系統(tǒng)設(shè)計(jì)要求在單片機(jī)的控制下完成風(fēng)速風(fēng)向的采樣工作,并根據(jù)不同的風(fēng)速,采用M法和T法進(jìn)行計(jì)算,并顯示測(cè)量的風(fēng)速,根據(jù)風(fēng)向的情況自動(dòng)測(cè)量并顯示。本次設(shè)計(jì)的電路主要有風(fēng)速風(fēng)向采集電路,STC89CS52單片機(jī)系統(tǒng),顯示電路,復(fù)位電路,軟件設(shè)計(jì)包括基本采集模塊,系統(tǒng)模塊,顯示模塊等設(shè)計(jì),大致設(shè)計(jì)的思路如圖1所示。
風(fēng)速風(fēng)向儀的硬件系統(tǒng)包括單片機(jī)系統(tǒng),測(cè)風(fēng)速部分,測(cè)風(fēng)向部分以及顯示部分,風(fēng)速風(fēng)向儀的硬件系統(tǒng)框圖如圖2。
2 軟件設(shè)計(jì)
2.1 主程序流程圖
STC89C52單片機(jī)使用經(jīng)典的MCS-51內(nèi)核,但做了很多的改進(jìn)使得芯片具有傳統(tǒng)51單片機(jī)不具備的功能。在單芯片上,擁有靈巧的8 位CPU 和在系統(tǒng)可編程Flash,使得STC89C52為眾多嵌入式控制應(yīng)用系統(tǒng)提供高靈活、超有效的解決方案。首先是要對(duì)STC89C52進(jìn)行初始化。初始化內(nèi)容包括定時(shí)器、中斷系統(tǒng)及各個(gè)單元內(nèi)容的初始化。然后進(jìn)入到主程序中,開始對(duì)脈沖信號(hào)進(jìn)行采樣、處理這里是程序設(shè)計(jì)的關(guān)鍵。
2.2 轉(zhuǎn)速測(cè)量方法
轉(zhuǎn)速測(cè)量方法可以主要分為三類:
2.2.1 機(jī)械rpm轉(zhuǎn)速測(cè)量
通過機(jī)械測(cè)量傳感器采集數(shù)據(jù),是最古老的rpm轉(zhuǎn)速測(cè)量方法。傳感器采集到的轉(zhuǎn)速資料,還要通過儀器內(nèi)部的電子分析。這種測(cè)量方法仍被應(yīng)用,但大多數(shù)用于20至10000rpm的低轉(zhuǎn)速測(cè)量。這種測(cè)量方法在測(cè)量過程中依賴于接觸壓力,其最大的缺點(diǎn)是加載運(yùn)動(dòng)不連續(xù)。另外,機(jī)械轉(zhuǎn)頻閃法測(cè)量rpm轉(zhuǎn)速不可應(yīng)用于細(xì)微物體,如果轉(zhuǎn)動(dòng)率過高,易發(fā)生滑走情況。
2.2.2 采用反射原理的電力轉(zhuǎn)速測(cè)量法(光學(xué)rpm轉(zhuǎn)速測(cè)量法)
測(cè)量?jī)x器發(fā)射出的紅外線經(jīng)固定在待測(cè)目標(biāo)上的反射條反射后,即攜帶上有關(guān)轉(zhuǎn)速信息。測(cè)量?jī)x器接收反射波后,經(jīng)過處理即可得到轉(zhuǎn)速。這種測(cè)量方法雖然要比機(jī)械rpm測(cè)量法先進(jìn),但是并非所有持待測(cè)目標(biāo)上都可以安裝反射條。
2.2.3 頻閃rpm轉(zhuǎn)速測(cè)量法
按照頻閃原理,當(dāng)高速閃光的頻率和目標(biāo)的rpm轉(zhuǎn)速(移動(dòng))同步時(shí),在觀察者的眼中,目標(biāo)是靜靜止的。同其它的測(cè)量方法如機(jī)械法或光學(xué)傳感器法直比,頻閃原理的優(yōu)點(diǎn)顯而易見:這種方法可以用于測(cè)量小型目標(biāo)或不便觸及部位的rpm,而不需要在待測(cè)目標(biāo)上固定反射條。例如,如用于生產(chǎn)過程測(cè)量時(shí),便不需中止。測(cè)量范圍:100至20000rpm。除了測(cè)量rpm轉(zhuǎn)速外,頻閃測(cè)量法還可用于振動(dòng)分析和動(dòng)作監(jiān)控。
對(duì)于不同形式的測(cè)量方法其測(cè)量范圍如圖3所示。
目前,在以光電編碼器構(gòu)成的測(cè)速系統(tǒng)中,常用的數(shù)字式轉(zhuǎn)速測(cè)量方法主要有三種,分別是M法(頻率法)、T法(周期法)、M/T法(頻率/周期法)。M法是在既定的檢測(cè)時(shí)間內(nèi),測(cè)量所產(chǎn)生的轉(zhuǎn)速脈沖信號(hào)的個(gè)數(shù)來確定轉(zhuǎn)速,比較適合于高速場(chǎng)合;T法是測(cè)量相鄰兩個(gè)轉(zhuǎn)速脈沖信號(hào)的時(shí)間來確定轉(zhuǎn)速,適合速度比較低的場(chǎng)合;M/T法是同時(shí)測(cè)量檢測(cè)時(shí)間和在此時(shí)間內(nèi)的轉(zhuǎn)速脈沖信號(hào)的個(gè)數(shù)來確定轉(zhuǎn)速。
2.3 測(cè)量方法比較
T法適合速度比較低的場(chǎng)合,當(dāng)轉(zhuǎn)速較高時(shí)其準(zhǔn)確性較差;而M法其性能特點(diǎn)正好與T法相反,比較適合于高速場(chǎng)合,M/T法則是前兩種方法的結(jié)合,在整個(gè)速度范圍內(nèi)都有較好的準(zhǔn)確性,但對(duì)于低速,該方法需要較長(zhǎng)的檢測(cè)時(shí)間才能保證結(jié)果的準(zhǔn)確性。三種方法的各項(xiàng)性能比較如表1所示:
表1 中,m1、m2:檢測(cè)時(shí)間間隔內(nèi)的脈沖計(jì)數(shù)值(分別對(duì)應(yīng)M、T法);T為規(guī)定的檢測(cè)時(shí)間間隔;P為圓光柵編碼器每轉(zhuǎn)一圈發(fā)出的轉(zhuǎn)速脈沖信號(hào)的個(gè)數(shù);fc為T法中已知頻率值(填充被測(cè)頻率相鄰兩個(gè)脈沖的間隔);n是電機(jī)每分鐘的轉(zhuǎn)速;Ttach為圓光柵測(cè)速脈沖周期;e是圓光柵編碼器的制造誤差。
由表1可知:從測(cè)速精度來看,若要求高精度測(cè)速,M法中應(yīng)計(jì)數(shù)值m較大,當(dāng)檢測(cè)時(shí)間Tg選定后(一般不應(yīng)過長(zhǎng),以保證測(cè)量條件不變且速度快,實(shí)現(xiàn)測(cè)量快速性),只有被測(cè)轉(zhuǎn)速n較高或圓光柵編碼器每轉(zhuǎn)一圈發(fā)出的轉(zhuǎn)速脈沖信號(hào)個(gè)數(shù)P較多,才能使m1較大。對(duì)于P給定情況,只有n大時(shí),m1才大。可見M法適于高速測(cè)量。經(jīng)類似分析可知T法適于低速測(cè)量,考慮高速和低速時(shí)的綜合性能M/T法最好。
從檢測(cè)時(shí)間來看,M法的檢測(cè)時(shí)間與轉(zhuǎn)速無關(guān),T法的檢測(cè)時(shí)間隨著轉(zhuǎn)速的增加而減小,若M/T法犧牲一點(diǎn)分辨率,則可以使檢測(cè)時(shí)間與M法幾乎相同。因此,從綜合效果看M/T法是較好的測(cè)速方法。
從計(jì)算方法來看,M法與T法較為簡(jiǎn)單,而M/T法的計(jì)算較為復(fù)雜。
2.4 轉(zhuǎn)速測(cè)量方案選定
對(duì)于一個(gè)轉(zhuǎn)速檢測(cè)系統(tǒng)來說,其關(guān)鍵在于能夠使測(cè)速結(jié)果在整個(gè)轉(zhuǎn)速范圍內(nèi)的準(zhǔn)確性和分辨率為最佳,并滿足快速的動(dòng)態(tài)響應(yīng)要求。為此,將速度范圍分為兩部分,分別采用兩種方式進(jìn)行檢測(cè):對(duì)應(yīng)于低速段,采用T法。
2.5 風(fēng)向測(cè)量方案選定
測(cè)風(fēng)向采用風(fēng)帶動(dòng)風(fēng)向標(biāo)旋轉(zhuǎn)并帶動(dòng)主軸,可以使用機(jī)械式測(cè)量或者傳感測(cè)量,機(jī)械式測(cè)量方法比較落后,精確度也很低,幾乎沒有智能化,所以現(xiàn)在已經(jīng)很少采用。傳感器測(cè)量采用各種方向傳感器進(jìn)行方向測(cè)量的一種方法,按其信號(hào)輸出方式可以分為光電式,電阻式等,本文選用絕對(duì)式光電編碼器,其輸出的信號(hào)可以是BCD碼,可以直接被單片機(jī)接受,靈敏度也很高較之電阻式傳感器使用更方便(由于這個(gè)原因,本文實(shí)物部分可能與設(shè)計(jì)有不同)。而且絕對(duì)式編碼器有一個(gè)零位參考點(diǎn),風(fēng)向要求單圈測(cè)量,范圍在0-360°內(nèi),所以可以用零位參考點(diǎn)對(duì)每圈的測(cè)量結(jié)果進(jìn)行復(fù)位,輸出復(fù)位信號(hào)到單片機(jī),即使斷電或者其他原因引起測(cè)量滯后也沒有影響,因?yàn)樗臏y(cè)量結(jié)果只與前后的位置有關(guān)。絕對(duì)式編碼器的精度與它的位數(shù)有關(guān),也就是他的輸出信號(hào)線的多少,精度計(jì)算公式為
3 系統(tǒng)的調(diào)試
3.1 硬件調(diào)試
為安全起見,首先必須進(jìn)行斷電調(diào)試。確認(rèn)電源電壓是否正常。用電壓表測(cè)量接地引腳跟電源引腳之間的電壓,看是否是電源電壓,例如常用的5V。接下來就是檢查復(fù)位引腳電壓是否正常。分別測(cè)量按下復(fù)位按鈕和放開復(fù)位按鈕的電壓值,看是否正確。然后再檢查晶振電路是否起振了,此,現(xiàn)在已經(jīng)很少有用外部擴(kuò)ROM的了),一定要將EA引腳拉高,否則會(huì)出現(xiàn)程序亂跑的情況。如果系統(tǒng)不穩(wěn)定的話,有時(shí)是因?yàn)殡娫礊V波不好導(dǎo)致的。在單片機(jī)的電源引腳跟地引腳之間接上一個(gè)0.1uF的電容會(huì)有所改善。如果電源沒有濾波電容的話,則需要再接一個(gè)更大濾波電容,例如220uF的。遇到系統(tǒng)不穩(wěn)定時(shí),就可以并上電容試試(越靠近芯片越好)。
3.2 軟件調(diào)試
結(jié)構(gòu)化軟件的調(diào)試一般可以將重點(diǎn)放在分模塊調(diào)試上,統(tǒng)調(diào)是最后一環(huán)。軟件調(diào)試可以采取離線調(diào)試和在線調(diào)試兩種方法。前者不需要硬件仿真器,借助于軟件仿真器即可;后者一般需要仿真系統(tǒng)的支持。但對(duì)于經(jīng)驗(yàn)豐富的人來說,可以不要仿真器,直接將程序代碼燒錄到芯片,直接通電試驗(yàn),觀察關(guān)鍵現(xiàn)象。以
參考文獻(xiàn)
[1]方嚴(yán)軍,孫健.智能儀器技術(shù)及其應(yīng)用[M].北京:化學(xué)工業(yè)出版社,2007.
[2]楊志忠,衛(wèi)樺林,郭順華.數(shù)字電子技術(shù)基礎(chǔ)[M].北京:高等教育出版社,2004.
[3]陳梓城,方勤.模擬電子技術(shù)[M].北京:高等教育出版社出版社,2003.
作者單位
1.濟(jì)南職業(yè)學(xué)院 山東省濟(jì)南市 250000
2.山東科學(xué)院 山東省濟(jì)南市 250014endprint
摘 要 本文以STC89CS52單片機(jī)為核心給出了風(fēng)速風(fēng)向測(cè)量系統(tǒng)的硬件及軟件設(shè)計(jì)方案,系統(tǒng)的硬件分為電源部分,風(fēng)速采集部分,風(fēng)向采集部分,單片機(jī)部分等;軟件部分的設(shè)計(jì)采用模塊編程,并且詳細(xì)介紹了光電編碼技術(shù)在風(fēng)速風(fēng)向測(cè)量中的應(yīng)用。
【關(guān)鍵詞】單片機(jī) 光電編碼器 LED 測(cè)量
1 設(shè)計(jì)方案
系統(tǒng)設(shè)計(jì)要求在單片機(jī)的控制下完成風(fēng)速風(fēng)向的采樣工作,并根據(jù)不同的風(fēng)速,采用M法和T法進(jìn)行計(jì)算,并顯示測(cè)量的風(fēng)速,根據(jù)風(fēng)向的情況自動(dòng)測(cè)量并顯示。本次設(shè)計(jì)的電路主要有風(fēng)速風(fēng)向采集電路,STC89CS52單片機(jī)系統(tǒng),顯示電路,復(fù)位電路,軟件設(shè)計(jì)包括基本采集模塊,系統(tǒng)模塊,顯示模塊等設(shè)計(jì),大致設(shè)計(jì)的思路如圖1所示。
風(fēng)速風(fēng)向儀的硬件系統(tǒng)包括單片機(jī)系統(tǒng),測(cè)風(fēng)速部分,測(cè)風(fēng)向部分以及顯示部分,風(fēng)速風(fēng)向儀的硬件系統(tǒng)框圖如圖2。
2 軟件設(shè)計(jì)
2.1 主程序流程圖
STC89C52單片機(jī)使用經(jīng)典的MCS-51內(nèi)核,但做了很多的改進(jìn)使得芯片具有傳統(tǒng)51單片機(jī)不具備的功能。在單芯片上,擁有靈巧的8 位CPU 和在系統(tǒng)可編程Flash,使得STC89C52為眾多嵌入式控制應(yīng)用系統(tǒng)提供高靈活、超有效的解決方案。首先是要對(duì)STC89C52進(jìn)行初始化。初始化內(nèi)容包括定時(shí)器、中斷系統(tǒng)及各個(gè)單元內(nèi)容的初始化。然后進(jìn)入到主程序中,開始對(duì)脈沖信號(hào)進(jìn)行采樣、處理這里是程序設(shè)計(jì)的關(guān)鍵。
2.2 轉(zhuǎn)速測(cè)量方法
轉(zhuǎn)速測(cè)量方法可以主要分為三類:
2.2.1 機(jī)械rpm轉(zhuǎn)速測(cè)量
通過機(jī)械測(cè)量傳感器采集數(shù)據(jù),是最古老的rpm轉(zhuǎn)速測(cè)量方法。傳感器采集到的轉(zhuǎn)速資料,還要通過儀器內(nèi)部的電子分析。這種測(cè)量方法仍被應(yīng)用,但大多數(shù)用于20至10000rpm的低轉(zhuǎn)速測(cè)量。這種測(cè)量方法在測(cè)量過程中依賴于接觸壓力,其最大的缺點(diǎn)是加載運(yùn)動(dòng)不連續(xù)。另外,機(jī)械轉(zhuǎn)頻閃法測(cè)量rpm轉(zhuǎn)速不可應(yīng)用于細(xì)微物體,如果轉(zhuǎn)動(dòng)率過高,易發(fā)生滑走情況。
2.2.2 采用反射原理的電力轉(zhuǎn)速測(cè)量法(光學(xué)rpm轉(zhuǎn)速測(cè)量法)
測(cè)量?jī)x器發(fā)射出的紅外線經(jīng)固定在待測(cè)目標(biāo)上的反射條反射后,即攜帶上有關(guān)轉(zhuǎn)速信息。測(cè)量?jī)x器接收反射波后,經(jīng)過處理即可得到轉(zhuǎn)速。這種測(cè)量方法雖然要比機(jī)械rpm測(cè)量法先進(jìn),但是并非所有持待測(cè)目標(biāo)上都可以安裝反射條。
2.2.3 頻閃rpm轉(zhuǎn)速測(cè)量法
按照頻閃原理,當(dāng)高速閃光的頻率和目標(biāo)的rpm轉(zhuǎn)速(移動(dòng))同步時(shí),在觀察者的眼中,目標(biāo)是靜靜止的。同其它的測(cè)量方法如機(jī)械法或光學(xué)傳感器法直比,頻閃原理的優(yōu)點(diǎn)顯而易見:這種方法可以用于測(cè)量小型目標(biāo)或不便觸及部位的rpm,而不需要在待測(cè)目標(biāo)上固定反射條。例如,如用于生產(chǎn)過程測(cè)量時(shí),便不需中止。測(cè)量范圍:100至20000rpm。除了測(cè)量rpm轉(zhuǎn)速外,頻閃測(cè)量法還可用于振動(dòng)分析和動(dòng)作監(jiān)控。
對(duì)于不同形式的測(cè)量方法其測(cè)量范圍如圖3所示。
目前,在以光電編碼器構(gòu)成的測(cè)速系統(tǒng)中,常用的數(shù)字式轉(zhuǎn)速測(cè)量方法主要有三種,分別是M法(頻率法)、T法(周期法)、M/T法(頻率/周期法)。M法是在既定的檢測(cè)時(shí)間內(nèi),測(cè)量所產(chǎn)生的轉(zhuǎn)速脈沖信號(hào)的個(gè)數(shù)來確定轉(zhuǎn)速,比較適合于高速場(chǎng)合;T法是測(cè)量相鄰兩個(gè)轉(zhuǎn)速脈沖信號(hào)的時(shí)間來確定轉(zhuǎn)速,適合速度比較低的場(chǎng)合;M/T法是同時(shí)測(cè)量檢測(cè)時(shí)間和在此時(shí)間內(nèi)的轉(zhuǎn)速脈沖信號(hào)的個(gè)數(shù)來確定轉(zhuǎn)速。
2.3 測(cè)量方法比較
T法適合速度比較低的場(chǎng)合,當(dāng)轉(zhuǎn)速較高時(shí)其準(zhǔn)確性較差;而M法其性能特點(diǎn)正好與T法相反,比較適合于高速場(chǎng)合,M/T法則是前兩種方法的結(jié)合,在整個(gè)速度范圍內(nèi)都有較好的準(zhǔn)確性,但對(duì)于低速,該方法需要較長(zhǎng)的檢測(cè)時(shí)間才能保證結(jié)果的準(zhǔn)確性。三種方法的各項(xiàng)性能比較如表1所示:
表1 中,m1、m2:檢測(cè)時(shí)間間隔內(nèi)的脈沖計(jì)數(shù)值(分別對(duì)應(yīng)M、T法);T為規(guī)定的檢測(cè)時(shí)間間隔;P為圓光柵編碼器每轉(zhuǎn)一圈發(fā)出的轉(zhuǎn)速脈沖信號(hào)的個(gè)數(shù);fc為T法中已知頻率值(填充被測(cè)頻率相鄰兩個(gè)脈沖的間隔);n是電機(jī)每分鐘的轉(zhuǎn)速;Ttach為圓光柵測(cè)速脈沖周期;e是圓光柵編碼器的制造誤差。
由表1可知:從測(cè)速精度來看,若要求高精度測(cè)速,M法中應(yīng)計(jì)數(shù)值m較大,當(dāng)檢測(cè)時(shí)間Tg選定后(一般不應(yīng)過長(zhǎng),以保證測(cè)量條件不變且速度快,實(shí)現(xiàn)測(cè)量快速性),只有被測(cè)轉(zhuǎn)速n較高或圓光柵編碼器每轉(zhuǎn)一圈發(fā)出的轉(zhuǎn)速脈沖信號(hào)個(gè)數(shù)P較多,才能使m1較大。對(duì)于P給定情況,只有n大時(shí),m1才大??梢奙法適于高速測(cè)量。經(jīng)類似分析可知T法適于低速測(cè)量,考慮高速和低速時(shí)的綜合性能M/T法最好。
從檢測(cè)時(shí)間來看,M法的檢測(cè)時(shí)間與轉(zhuǎn)速無關(guān),T法的檢測(cè)時(shí)間隨著轉(zhuǎn)速的增加而減小,若M/T法犧牲一點(diǎn)分辨率,則可以使檢測(cè)時(shí)間與M法幾乎相同。因此,從綜合效果看M/T法是較好的測(cè)速方法。
從計(jì)算方法來看,M法與T法較為簡(jiǎn)單,而M/T法的計(jì)算較為復(fù)雜。
2.4 轉(zhuǎn)速測(cè)量方案選定
對(duì)于一個(gè)轉(zhuǎn)速檢測(cè)系統(tǒng)來說,其關(guān)鍵在于能夠使測(cè)速結(jié)果在整個(gè)轉(zhuǎn)速范圍內(nèi)的準(zhǔn)確性和分辨率為最佳,并滿足快速的動(dòng)態(tài)響應(yīng)要求。為此,將速度范圍分為兩部分,分別采用兩種方式進(jìn)行檢測(cè):對(duì)應(yīng)于低速段,采用T法。
2.5 風(fēng)向測(cè)量方案選定
測(cè)風(fēng)向采用風(fēng)帶動(dòng)風(fēng)向標(biāo)旋轉(zhuǎn)并帶動(dòng)主軸,可以使用機(jī)械式測(cè)量或者傳感測(cè)量,機(jī)械式測(cè)量方法比較落后,精確度也很低,幾乎沒有智能化,所以現(xiàn)在已經(jīng)很少采用。傳感器測(cè)量采用各種方向傳感器進(jìn)行方向測(cè)量的一種方法,按其信號(hào)輸出方式可以分為光電式,電阻式等,本文選用絕對(duì)式光電編碼器,其輸出的信號(hào)可以是BCD碼,可以直接被單片機(jī)接受,靈敏度也很高較之電阻式傳感器使用更方便(由于這個(gè)原因,本文實(shí)物部分可能與設(shè)計(jì)有不同)。而且絕對(duì)式編碼器有一個(gè)零位參考點(diǎn),風(fēng)向要求單圈測(cè)量,范圍在0-360°內(nèi),所以可以用零位參考點(diǎn)對(duì)每圈的測(cè)量結(jié)果進(jìn)行復(fù)位,輸出復(fù)位信號(hào)到單片機(jī),即使斷電或者其他原因引起測(cè)量滯后也沒有影響,因?yàn)樗臏y(cè)量結(jié)果只與前后的位置有關(guān)。絕對(duì)式編碼器的精度與它的位數(shù)有關(guān),也就是他的輸出信號(hào)線的多少,精度計(jì)算公式為
3 系統(tǒng)的調(diào)試
3.1 硬件調(diào)試
為安全起見,首先必須進(jìn)行斷電調(diào)試。確認(rèn)電源電壓是否正常。用電壓表測(cè)量接地引腳跟電源引腳之間的電壓,看是否是電源電壓,例如常用的5V。接下來就是檢查復(fù)位引腳電壓是否正常。分別測(cè)量按下復(fù)位按鈕和放開復(fù)位按鈕的電壓值,看是否正確。然后再檢查晶振電路是否起振了,此,現(xiàn)在已經(jīng)很少有用外部擴(kuò)ROM的了),一定要將EA引腳拉高,否則會(huì)出現(xiàn)程序亂跑的情況。如果系統(tǒng)不穩(wěn)定的話,有時(shí)是因?yàn)殡娫礊V波不好導(dǎo)致的。在單片機(jī)的電源引腳跟地引腳之間接上一個(gè)0.1uF的電容會(huì)有所改善。如果電源沒有濾波電容的話,則需要再接一個(gè)更大濾波電容,例如220uF的。遇到系統(tǒng)不穩(wěn)定時(shí),就可以并上電容試試(越靠近芯片越好)。
3.2 軟件調(diào)試
結(jié)構(gòu)化軟件的調(diào)試一般可以將重點(diǎn)放在分模塊調(diào)試上,統(tǒng)調(diào)是最后一環(huán)。軟件調(diào)試可以采取離線調(diào)試和在線調(diào)試兩種方法。前者不需要硬件仿真器,借助于軟件仿真器即可;后者一般需要仿真系統(tǒng)的支持。但對(duì)于經(jīng)驗(yàn)豐富的人來說,可以不要仿真器,直接將程序代碼燒錄到芯片,直接通電試驗(yàn),觀察關(guān)鍵現(xiàn)象。以
參考文獻(xiàn)
[1]方嚴(yán)軍,孫健.智能儀器技術(shù)及其應(yīng)用[M].北京:化學(xué)工業(yè)出版社,2007.
[2]楊志忠,衛(wèi)樺林,郭順華.數(shù)字電子技術(shù)基礎(chǔ)[M].北京:高等教育出版社,2004.
[3]陳梓城,方勤.模擬電子技術(shù)[M].北京:高等教育出版社出版社,2003.
作者單位
1.濟(jì)南職業(yè)學(xué)院 山東省濟(jì)南市 250000
2.山東科學(xué)院 山東省濟(jì)南市 250014endprint
摘 要 本文以STC89CS52單片機(jī)為核心給出了風(fēng)速風(fēng)向測(cè)量系統(tǒng)的硬件及軟件設(shè)計(jì)方案,系統(tǒng)的硬件分為電源部分,風(fēng)速采集部分,風(fēng)向采集部分,單片機(jī)部分等;軟件部分的設(shè)計(jì)采用模塊編程,并且詳細(xì)介紹了光電編碼技術(shù)在風(fēng)速風(fēng)向測(cè)量中的應(yīng)用。
【關(guān)鍵詞】單片機(jī) 光電編碼器 LED 測(cè)量
1 設(shè)計(jì)方案
系統(tǒng)設(shè)計(jì)要求在單片機(jī)的控制下完成風(fēng)速風(fēng)向的采樣工作,并根據(jù)不同的風(fēng)速,采用M法和T法進(jìn)行計(jì)算,并顯示測(cè)量的風(fēng)速,根據(jù)風(fēng)向的情況自動(dòng)測(cè)量并顯示。本次設(shè)計(jì)的電路主要有風(fēng)速風(fēng)向采集電路,STC89CS52單片機(jī)系統(tǒng),顯示電路,復(fù)位電路,軟件設(shè)計(jì)包括基本采集模塊,系統(tǒng)模塊,顯示模塊等設(shè)計(jì),大致設(shè)計(jì)的思路如圖1所示。
風(fēng)速風(fēng)向儀的硬件系統(tǒng)包括單片機(jī)系統(tǒng),測(cè)風(fēng)速部分,測(cè)風(fēng)向部分以及顯示部分,風(fēng)速風(fēng)向儀的硬件系統(tǒng)框圖如圖2。
2 軟件設(shè)計(jì)
2.1 主程序流程圖
STC89C52單片機(jī)使用經(jīng)典的MCS-51內(nèi)核,但做了很多的改進(jìn)使得芯片具有傳統(tǒng)51單片機(jī)不具備的功能。在單芯片上,擁有靈巧的8 位CPU 和在系統(tǒng)可編程Flash,使得STC89C52為眾多嵌入式控制應(yīng)用系統(tǒng)提供高靈活、超有效的解決方案。首先是要對(duì)STC89C52進(jìn)行初始化。初始化內(nèi)容包括定時(shí)器、中斷系統(tǒng)及各個(gè)單元內(nèi)容的初始化。然后進(jìn)入到主程序中,開始對(duì)脈沖信號(hào)進(jìn)行采樣、處理這里是程序設(shè)計(jì)的關(guān)鍵。
2.2 轉(zhuǎn)速測(cè)量方法
轉(zhuǎn)速測(cè)量方法可以主要分為三類:
2.2.1 機(jī)械rpm轉(zhuǎn)速測(cè)量
通過機(jī)械測(cè)量傳感器采集數(shù)據(jù),是最古老的rpm轉(zhuǎn)速測(cè)量方法。傳感器采集到的轉(zhuǎn)速資料,還要通過儀器內(nèi)部的電子分析。這種測(cè)量方法仍被應(yīng)用,但大多數(shù)用于20至10000rpm的低轉(zhuǎn)速測(cè)量。這種測(cè)量方法在測(cè)量過程中依賴于接觸壓力,其最大的缺點(diǎn)是加載運(yùn)動(dòng)不連續(xù)。另外,機(jī)械轉(zhuǎn)頻閃法測(cè)量rpm轉(zhuǎn)速不可應(yīng)用于細(xì)微物體,如果轉(zhuǎn)動(dòng)率過高,易發(fā)生滑走情況。
2.2.2 采用反射原理的電力轉(zhuǎn)速測(cè)量法(光學(xué)rpm轉(zhuǎn)速測(cè)量法)
測(cè)量?jī)x器發(fā)射出的紅外線經(jīng)固定在待測(cè)目標(biāo)上的反射條反射后,即攜帶上有關(guān)轉(zhuǎn)速信息。測(cè)量?jī)x器接收反射波后,經(jīng)過處理即可得到轉(zhuǎn)速。這種測(cè)量方法雖然要比機(jī)械rpm測(cè)量法先進(jìn),但是并非所有持待測(cè)目標(biāo)上都可以安裝反射條。
2.2.3 頻閃rpm轉(zhuǎn)速測(cè)量法
按照頻閃原理,當(dāng)高速閃光的頻率和目標(biāo)的rpm轉(zhuǎn)速(移動(dòng))同步時(shí),在觀察者的眼中,目標(biāo)是靜靜止的。同其它的測(cè)量方法如機(jī)械法或光學(xué)傳感器法直比,頻閃原理的優(yōu)點(diǎn)顯而易見:這種方法可以用于測(cè)量小型目標(biāo)或不便觸及部位的rpm,而不需要在待測(cè)目標(biāo)上固定反射條。例如,如用于生產(chǎn)過程測(cè)量時(shí),便不需中止。測(cè)量范圍:100至20000rpm。除了測(cè)量rpm轉(zhuǎn)速外,頻閃測(cè)量法還可用于振動(dòng)分析和動(dòng)作監(jiān)控。
對(duì)于不同形式的測(cè)量方法其測(cè)量范圍如圖3所示。
目前,在以光電編碼器構(gòu)成的測(cè)速系統(tǒng)中,常用的數(shù)字式轉(zhuǎn)速測(cè)量方法主要有三種,分別是M法(頻率法)、T法(周期法)、M/T法(頻率/周期法)。M法是在既定的檢測(cè)時(shí)間內(nèi),測(cè)量所產(chǎn)生的轉(zhuǎn)速脈沖信號(hào)的個(gè)數(shù)來確定轉(zhuǎn)速,比較適合于高速場(chǎng)合;T法是測(cè)量相鄰兩個(gè)轉(zhuǎn)速脈沖信號(hào)的時(shí)間來確定轉(zhuǎn)速,適合速度比較低的場(chǎng)合;M/T法是同時(shí)測(cè)量檢測(cè)時(shí)間和在此時(shí)間內(nèi)的轉(zhuǎn)速脈沖信號(hào)的個(gè)數(shù)來確定轉(zhuǎn)速。
2.3 測(cè)量方法比較
T法適合速度比較低的場(chǎng)合,當(dāng)轉(zhuǎn)速較高時(shí)其準(zhǔn)確性較差;而M法其性能特點(diǎn)正好與T法相反,比較適合于高速場(chǎng)合,M/T法則是前兩種方法的結(jié)合,在整個(gè)速度范圍內(nèi)都有較好的準(zhǔn)確性,但對(duì)于低速,該方法需要較長(zhǎng)的檢測(cè)時(shí)間才能保證結(jié)果的準(zhǔn)確性。三種方法的各項(xiàng)性能比較如表1所示:
表1 中,m1、m2:檢測(cè)時(shí)間間隔內(nèi)的脈沖計(jì)數(shù)值(分別對(duì)應(yīng)M、T法);T為規(guī)定的檢測(cè)時(shí)間間隔;P為圓光柵編碼器每轉(zhuǎn)一圈發(fā)出的轉(zhuǎn)速脈沖信號(hào)的個(gè)數(shù);fc為T法中已知頻率值(填充被測(cè)頻率相鄰兩個(gè)脈沖的間隔);n是電機(jī)每分鐘的轉(zhuǎn)速;Ttach為圓光柵測(cè)速脈沖周期;e是圓光柵編碼器的制造誤差。
由表1可知:從測(cè)速精度來看,若要求高精度測(cè)速,M法中應(yīng)計(jì)數(shù)值m較大,當(dāng)檢測(cè)時(shí)間Tg選定后(一般不應(yīng)過長(zhǎng),以保證測(cè)量條件不變且速度快,實(shí)現(xiàn)測(cè)量快速性),只有被測(cè)轉(zhuǎn)速n較高或圓光柵編碼器每轉(zhuǎn)一圈發(fā)出的轉(zhuǎn)速脈沖信號(hào)個(gè)數(shù)P較多,才能使m1較大。對(duì)于P給定情況,只有n大時(shí),m1才大??梢奙法適于高速測(cè)量。經(jīng)類似分析可知T法適于低速測(cè)量,考慮高速和低速時(shí)的綜合性能M/T法最好。
從檢測(cè)時(shí)間來看,M法的檢測(cè)時(shí)間與轉(zhuǎn)速無關(guān),T法的檢測(cè)時(shí)間隨著轉(zhuǎn)速的增加而減小,若M/T法犧牲一點(diǎn)分辨率,則可以使檢測(cè)時(shí)間與M法幾乎相同。因此,從綜合效果看M/T法是較好的測(cè)速方法。
從計(jì)算方法來看,M法與T法較為簡(jiǎn)單,而M/T法的計(jì)算較為復(fù)雜。
2.4 轉(zhuǎn)速測(cè)量方案選定
對(duì)于一個(gè)轉(zhuǎn)速檢測(cè)系統(tǒng)來說,其關(guān)鍵在于能夠使測(cè)速結(jié)果在整個(gè)轉(zhuǎn)速范圍內(nèi)的準(zhǔn)確性和分辨率為最佳,并滿足快速的動(dòng)態(tài)響應(yīng)要求。為此,將速度范圍分為兩部分,分別采用兩種方式進(jìn)行檢測(cè):對(duì)應(yīng)于低速段,采用T法。
2.5 風(fēng)向測(cè)量方案選定
測(cè)風(fēng)向采用風(fēng)帶動(dòng)風(fēng)向標(biāo)旋轉(zhuǎn)并帶動(dòng)主軸,可以使用機(jī)械式測(cè)量或者傳感測(cè)量,機(jī)械式測(cè)量方法比較落后,精確度也很低,幾乎沒有智能化,所以現(xiàn)在已經(jīng)很少采用。傳感器測(cè)量采用各種方向傳感器進(jìn)行方向測(cè)量的一種方法,按其信號(hào)輸出方式可以分為光電式,電阻式等,本文選用絕對(duì)式光電編碼器,其輸出的信號(hào)可以是BCD碼,可以直接被單片機(jī)接受,靈敏度也很高較之電阻式傳感器使用更方便(由于這個(gè)原因,本文實(shí)物部分可能與設(shè)計(jì)有不同)。而且絕對(duì)式編碼器有一個(gè)零位參考點(diǎn),風(fēng)向要求單圈測(cè)量,范圍在0-360°內(nèi),所以可以用零位參考點(diǎn)對(duì)每圈的測(cè)量結(jié)果進(jìn)行復(fù)位,輸出復(fù)位信號(hào)到單片機(jī),即使斷電或者其他原因引起測(cè)量滯后也沒有影響,因?yàn)樗臏y(cè)量結(jié)果只與前后的位置有關(guān)。絕對(duì)式編碼器的精度與它的位數(shù)有關(guān),也就是他的輸出信號(hào)線的多少,精度計(jì)算公式為
3 系統(tǒng)的調(diào)試
3.1 硬件調(diào)試
為安全起見,首先必須進(jìn)行斷電調(diào)試。確認(rèn)電源電壓是否正常。用電壓表測(cè)量接地引腳跟電源引腳之間的電壓,看是否是電源電壓,例如常用的5V。接下來就是檢查復(fù)位引腳電壓是否正常。分別測(cè)量按下復(fù)位按鈕和放開復(fù)位按鈕的電壓值,看是否正確。然后再檢查晶振電路是否起振了,此,現(xiàn)在已經(jīng)很少有用外部擴(kuò)ROM的了),一定要將EA引腳拉高,否則會(huì)出現(xiàn)程序亂跑的情況。如果系統(tǒng)不穩(wěn)定的話,有時(shí)是因?yàn)殡娫礊V波不好導(dǎo)致的。在單片機(jī)的電源引腳跟地引腳之間接上一個(gè)0.1uF的電容會(huì)有所改善。如果電源沒有濾波電容的話,則需要再接一個(gè)更大濾波電容,例如220uF的。遇到系統(tǒng)不穩(wěn)定時(shí),就可以并上電容試試(越靠近芯片越好)。
3.2 軟件調(diào)試
結(jié)構(gòu)化軟件的調(diào)試一般可以將重點(diǎn)放在分模塊調(diào)試上,統(tǒng)調(diào)是最后一環(huán)。軟件調(diào)試可以采取離線調(diào)試和在線調(diào)試兩種方法。前者不需要硬件仿真器,借助于軟件仿真器即可;后者一般需要仿真系統(tǒng)的支持。但對(duì)于經(jīng)驗(yàn)豐富的人來說,可以不要仿真器,直接將程序代碼燒錄到芯片,直接通電試驗(yàn),觀察關(guān)鍵現(xiàn)象。以
參考文獻(xiàn)
[1]方嚴(yán)軍,孫健.智能儀器技術(shù)及其應(yīng)用[M].北京:化學(xué)工業(yè)出版社,2007.
[2]楊志忠,衛(wèi)樺林,郭順華.數(shù)字電子技術(shù)基礎(chǔ)[M].北京:高等教育出版社,2004.
[3]陳梓城,方勤.模擬電子技術(shù)[M].北京:高等教育出版社出版社,2003.
作者單位
1.濟(jì)南職業(yè)學(xué)院 山東省濟(jì)南市 250000
2.山東科學(xué)院 山東省濟(jì)南市 250014endprint