【文章摘要】
當(dāng)單片機(jī)應(yīng)用在高精度壓力變送器的過程中,其對壓力變送器的溫度與壓力信號進(jìn)行了采集,組成了4 層BP 神經(jīng)網(wǎng)絡(luò)進(jìn)行離線訓(xùn)練,然后通過C 語言對訓(xùn)練好的網(wǎng)絡(luò)模型進(jìn)行編程,研究了單片機(jī)軟件的實(shí)現(xiàn)方式。并且發(fā)現(xiàn),采用單片機(jī)減少了系統(tǒng)功能與壓力變送器體積,利用單片機(jī)對傳感器的溫度和壓力A / D 采樣值離線訓(xùn)練減少了信號誤差。
【引言】
在眾多控制過程中, 經(jīng)常需要對一些參數(shù)進(jìn)行測量, 而一般傳感器的輸出信號較弱, 不適合遠(yuǎn)距離傳輸。為了減小干擾,通常采用4-20mA 電流輸出的雙絞線變送器。信號模擬處理的變送器, 由于電路復(fù)雜性的限制, 非線性補(bǔ)償效果不理想,很難在全溫度范圍內(nèi)實(shí)現(xiàn)溫度補(bǔ)償, 因此達(dá)不到較高的精度要求。隨著單片機(jī)技術(shù)發(fā)展日漸成熟,低功耗高精度單片機(jī)與高性能轉(zhuǎn)換器的日益普及, 為高精度壓力變送器的設(shè)計(jì)提供了技術(shù)途徑。
【單片機(jī)的發(fā)展歷史】
單片機(jī)#早出現(xiàn)在20 世紀(jì)70 年代末,其發(fā)展過程歷經(jīng)了SCM、MCU、SOC這三大階段,#早的SCM 單片機(jī)都是8 位或4 位的。而其中#成功應(yīng)當(dāng)屬于INTEL的8031,此后科學(xué)家在8031 的基礎(chǔ)上開發(fā)出了MCS51 系列MCU 系統(tǒng);谶@一系統(tǒng)的單片機(jī)系統(tǒng)即使直到現(xiàn)在使用仍然相當(dāng)廣泛。由于工業(yè)控制領(lǐng)域?qū)ζ湟笥鷣碛,于?6 位單片機(jī)就順勢而出,但由于性價(jià)比不理想其應(yīng)用范圍并沒有得到大規(guī)模的推廣。直到90 年代后隨著消費(fèi)電子產(chǎn)品的不斷發(fā)展,單片機(jī)技術(shù)也同樣有了里程碑式的進(jìn)步。隨著INTELi960 系列的出現(xiàn)特別是后來的ARM 系列的大規(guī)模應(yīng)用,32 位單片機(jī)以其更優(yōu)良的性能迅速取代16 位單片機(jī)的高端地位,并且占據(jù)了市場的主流。當(dāng)代單片機(jī)系統(tǒng)已經(jīng)不僅僅只是在裸機(jī)環(huán)境下開發(fā)及使用,如今全系列的單片機(jī)都大量采用了專用的嵌入式操作系統(tǒng)。甚至專用的Windows 和Linux 操作系統(tǒng)也直接可以應(yīng)用在作為掌上電腦和手機(jī)核心處理的高端單片機(jī)上。
2 單片機(jī)與高精度壓力變送器的結(jié)構(gòu)原理
【單片機(jī)】
單片微型計(jì)算機(jī)簡稱單片機(jī),又稱單片微控制器,是一種典型的嵌入式微控制器。它雖然只是一個芯片,但其內(nèi)部同樣應(yīng)用了與電腦功能相類似的模塊,比如:CPU、內(nèi)存等等,總的來說它就是把一個計(jì)算機(jī)系統(tǒng)集成到一個芯片上。其主要組成部分有:運(yùn)算器、控制器、存儲器、輸入與輸出設(shè)備,就這些而論和一個微型的計(jì)算機(jī)也差別不大了。自單片機(jī)問世以來,其性能不斷提高和完善,其資源又能滿足很多應(yīng)用場合的需要,加之單片機(jī)具有集成度高、功能強(qiáng)、速度快、體積小、功耗低、使用方便、價(jià)格低廉等優(yōu)良特點(diǎn),在控制領(lǐng)域倍受人們鐘愛。
【高精度壓力變送器】
壓力變送器在工業(yè)中的使用十分普遍,在各種工業(yè)的自控環(huán)境中有著廣泛的應(yīng)用。高精度壓力變送器就是其中的一種,也稱高精度壓力傳感器。高精度壓力傳感器的工作原理是當(dāng)壓力變送器被測介質(zhì)的兩種壓力通入高、低兩壓力室,作用在δ 元件的兩側(cè)隔離膜片上,然后經(jīng)過隔離片和元件內(nèi)的填充液傳送至測量膜片的兩側(cè)。測量膜片和兩側(cè)的絕緣片上面的電極各自組成一個電容器,在兩側(cè)的壓力不同的情況下測量膜片會出現(xiàn)位移的現(xiàn)象,此時,位移量與壓力差成正比,從而導(dǎo)致兩側(cè)的電容量不同,通過振蕩和解調(diào)環(huán)節(jié),將其轉(zhuǎn)換成與壓力成正比的信號。A/D 轉(zhuǎn)換器將解調(diào)器的電流轉(zhuǎn)換成數(shù)字信號,其值被微處理器用來判定輸入壓力值,從而使微處理器控制變送器的工作。
【單片機(jī)在高精度壓力變送器中的應(yīng)用】
眾所周知,影響傳感器輸出的因素有很多,但主要因素是因?yàn)槠渌艿降膲毫蛠碜杂谕饨绲姆悄繕?biāo)參量的干擾,從而出現(xiàn)傳感器交叉靈敏度問題的出現(xiàn),導(dǎo)致輸出精度受到影響。要想解決這個問題,其關(guān)鍵就在于進(jìn)行溫度補(bǔ)償。然而進(jìn)行溫度補(bǔ)償?shù)姆椒ㄓ泻芏,例如?dx-- 乘法、溫度補(bǔ)償有線性插值法、神經(jīng)網(wǎng)絡(luò)算法等,但綜合各方面因素考慮,#優(yōu)的選擇還是神經(jīng)網(wǎng)絡(luò)中的BP 網(wǎng)絡(luò)法。這種方法通過建立BP 網(wǎng)絡(luò)可以擁有以任意精度接近任何非線性函數(shù)的能力,從而達(dá)到數(shù)據(jù)的擬合。而這些自然就需要將單片機(jī)應(yīng)用于其中。BP 網(wǎng)絡(luò)離線訓(xùn)練需要樣本,而采用單片機(jī)收集的壓力變送器的壓力輸出以及所處的環(huán)境溫度值正好可以作為訓(xùn)練所需的輸入樣本,從而可以#大程度的修改權(quán)值與閾值,通過利用訓(xùn)練后的權(quán)值數(shù)組與閾值數(shù)組去控制變送器的輸出,然后將其結(jié)構(gòu)通過C 語言進(jìn)行編程,以便使BP 網(wǎng)絡(luò)能夠?qū)?shù)據(jù)進(jìn)行融合。
【BP 網(wǎng)絡(luò)算法的定義】
BP 網(wǎng)絡(luò)在目前的神經(jīng)網(wǎng)絡(luò)模型中應(yīng)用#為廣泛,分為輸入層,隱含層和輸出層三個部分,每個層次之間通過互聯(lián)方式進(jìn)行連接,在同一層次的單元之間沒有相互連接。
BP 網(wǎng)絡(luò)是由信息的正向傳播和誤差的反向傳播組成由輸入層向隱含層和輸出層是為正向傳播的輸入模式,倘若輸出層沒有得到期望的結(jié)果,則會使誤差信號沿原來的通道將之返回并且修改各層的權(quán)值,從而形成反向傳播,如此反復(fù),直到將誤差降低到#小,#終達(dá)到期望的目標(biāo)值。
【單片機(jī)的具體作用】
因?yàn)闃颖镜牟杉且粋復(fù)雜的過程,其中需要運(yùn)用到很多器材,包括高精度的壓力傳感器,壓力傳感器信號控制電路板,標(biāo)準(zhǔn)壓力計(jì),壓力變送器高低溫測試箱,測試軟件,電腦,與高精度壓力傳感器相匹配的數(shù)據(jù)線等等。具體的過程如下:先將壓力傳感器裝置連接好,然后將連接好的設(shè)備放置于高低溫測試箱內(nèi),然后將壓力傳感器信號控制電路板與壓力傳感器中反映溫度和壓力信號的4 根導(dǎo)線連接好,再將電路板上通訊接口連接到電腦主機(jī),然后再連接好數(shù)據(jù)線如此器材就連接順暢了,然后即可進(jìn)行樣本的采集。這一系列的計(jì)算和BP 網(wǎng)絡(luò)訓(xùn)練完成之后,就會得到滿足控制要求的權(quán)值與閾值。將其連接關(guān)系通過程序進(jìn)行編程,然后移植到單片機(jī)中,對信號進(jìn)行必要的處理。在這整個系統(tǒng)中單片機(jī)主要完成的工
作包括:上電初始化,含看門狗的關(guān)閉、晶振的初始化、LED 與通訊模塊的初始化等;進(jìn)行溫度和壓力的A / D 轉(zhuǎn)換,包括設(shè)定采樣頻率、選擇參考電壓的、設(shè)定模塊、以及對數(shù)據(jù)進(jìn)行平均值濾波等;歸一化溫度和壓力的A / D 采樣值,歸一化的溫度與壓力#大值、#小值及BP 網(wǎng)絡(luò)訓(xùn)練時選擇的#大#小值相同;把溫度和壓力信號組成的二維數(shù)組輸入到神經(jīng)網(wǎng)絡(luò)訓(xùn)練的權(quán)值連接中實(shí)現(xiàn)對信號處理, 然后反歸一化輸出值;#后即可將反歸一化處理的信號經(jīng)過LED 顯示以及通過通訊接口發(fā)送出去。
【總結(jié)】
隨著社會的不斷進(jìn)步和科技的不斷發(fā)展,單片機(jī)應(yīng)用的馮范圍也越來越大,重要性也愈來愈突出,其可靠性和抗干擾性也必須能夠隨之增強(qiáng),否則將會成為制約其發(fā)展的一大障礙,因此它還有很長的一條路要走,不斷發(fā)展,開拓創(chuàng)新才能走的更持久。
【版權(quán)聲明】除非特別注明,否則淮安三暢儀表文章均為原創(chuàng),未經(jīng)允許不得轉(zhuǎn)載!