0 前言
在工業(yè)控制過程中,,需要對被控制對象的實時數(shù)據(jù)進行采集,,并且根據(jù)采集數(shù)據(jù)的實際情況,對其進行實時的監(jiān)控以及遠(yuǎn)程的控制,,以完成相應(yīng)的控制任務(wù),。在現(xiàn)代工業(yè)控制中,對于控制的準(zhǔn)確性判斷以及控制的實時性和穩(wěn)定性需求都很高,,所以要有一種可以進行數(shù)據(jù)采集的控制系統(tǒng),,而且這種系統(tǒng)要能夠?qū)崿F(xiàn)多通道、高精度以及大容量的要求,。從這個角度來看,,文中基于單片機與PC 通信的數(shù)據(jù)采集控制系統(tǒng)設(shè)計研究具有非常重要的現(xiàn)實意義。
1 系統(tǒng)的基本組成
1. 1 系統(tǒng)的基本架構(gòu)
文中構(gòu)建的基于單片機與PC 通信的數(shù)據(jù)采集控制系統(tǒng)基本架構(gòu)如圖1 所示:
圖1 系統(tǒng)基本架構(gòu)框圖
如圖1 所示,被控對象通過傳感器的作用,,采集到相應(yīng)的數(shù)據(jù),,經(jīng)過電壓轉(zhuǎn)換以及模擬/數(shù)字轉(zhuǎn)換之后,向單片機發(fā)送,,單片機端可以根據(jù)數(shù)據(jù)采集的情況以及預(yù)先設(shè)置的程序,,經(jīng)過繼電器向被控制對象進行具體的操作,同時也可以通過電平轉(zhuǎn)換芯片向PC 機發(fā)送采集到的數(shù)據(jù),。PC 機可以對采集的數(shù)據(jù)進行存儲,、處理,也可以根據(jù)這些數(shù)據(jù)來完善控制算法,,然后經(jīng)過電平轉(zhuǎn)換芯片發(fā)送控制信號,,遠(yuǎn)程控制被控對象。
1. 2 系統(tǒng)硬件
此次研究中,,對于系統(tǒng)的硬件構(gòu)成主要有幾個非常重要的模塊,。首先是微處理器模塊,射頻收發(fā)模塊,,這2 個是核心模塊,,另外的傳感器模塊、天線和電源管理模塊也是硬件構(gòu)成中的重點,。微處理器模塊采用的芯片是Atmega128L 低功耗微處理器,,這種處理器主要是對數(shù)據(jù)進行采集,然后進行處理,,而且對整個系統(tǒng)的功耗和任務(wù)進行控制管理,,射頻部分為了能夠有效進行功耗的控制,所以采用的是比較節(jié)能的TI 的CC2420 芯片,,這樣的設(shè)計使得FLASH 存儲對于低功耗產(chǎn)品的選擇也非常恰當(dāng)。
傳感器部分要根據(jù)不同需求進行選擇,,每種傳感器都有獨特的溫度,、壓力和流量的傳感系統(tǒng),所以對于一些非電量的信號,,還得利用傳感器將其從電壓變換模塊轉(zhuǎn)化為整個模擬信號,。
筆者在設(shè)計中,對于總體的成本和系統(tǒng)性能需求進行了考慮,,對于目前采用的節(jié)點中心設(shè)計,,擬定了Atmega128L 單片機來完成。Atmega128L 單片機對于數(shù)據(jù)采集和處理的完成,,能夠在很惡劣的環(huán)境下進行,,而且它還具備了非常強的節(jié)能能力,其功耗的參數(shù)也一樣,必須要在能夠滿足工作電壓1. 8 ~3. 6V,、在2. 2V 的供電條件下能夠在7霢 的工作電流下穩(wěn)定運行在32kHz 的工作頻率,。而單片機以及PC 機之間經(jīng)過電平轉(zhuǎn)換芯片的連接,才能夠工作,,依靠這種方式來實現(xiàn)遠(yuǎn)程通信,。文中設(shè)計的系統(tǒng)能夠有效地實現(xiàn)采集被控制對象的多種參數(shù)信息,并且將其傳遞至PC 機端,,對相應(yīng)數(shù)據(jù)進行處理,,同時也能夠選擇通過PC 機來遠(yuǎn)程控制被控制對象。
此次構(gòu)件的系統(tǒng)射頻信號經(jīng)由天線向CC2420芯片傳輸,。低噪聲放大器( Low Noise Amplifier,LNA) 在接收到相關(guān)的信號之后,,將其轉(zhuǎn)化為2MHz中頻,使其形成同向分量以及正交分量兩路中頻信號,。隨后,,對這兩路中頻信號進行濾波以及放大處理,再從模擬信號轉(zhuǎn)化為數(shù)字信號,。然后對其進行最終信道的選擇以及控制增益等處理,。
為了確保存儲模塊部分能夠滿足系統(tǒng)的實際需求,不能夠僅僅依靠Atmega128L 內(nèi)部Flash 模塊,,還需要串行一個外部Flash 模塊,,并且借助該模塊類似實現(xiàn)掉電保護功能。具體地,,可以借助于SPI 總線將外部Flash 模塊與Atmega128L 相連接,。在具體的工作過程中,以Atmega128L 內(nèi)部存儲為主模式,,而外部Flash 模塊AT45DB041B 為從模式,。
A/D 數(shù)模轉(zhuǎn)換部分,采用的是11 通道12 位高速的TLC2543 轉(zhuǎn)換芯片,,該芯片與單片機之間的通信是通過串口通信的方式來完成的,,通過4 條信號線的連接就能夠?qū)崿F(xiàn)通信的需求。這4 條信號線分別是片選信號CS,、時鐘信號CLK,、數(shù)據(jù)移出Dout、數(shù)據(jù)移入Din.
在單片機的顯示裝置部分,,此次設(shè)計采用的是4 個共陽數(shù)碼管,,對于段選數(shù)據(jù)線以及單片機采用一組I /O 端口對其進行連接,而對于位選數(shù)據(jù)線,,則經(jīng)過ULN2003A 驅(qū)動芯片和單片一組I /O 端口進行連接,。顯示控制部分,,選用循環(huán)掃描的方式逐一點亮數(shù)碼管,然后進行高速的切換,,利用人體的視覺暫留特性,,使其看上去是4 根共陽數(shù)碼管在同時穩(wěn)定地顯示。
2 單片機與PC 機的通信連接與控制方式的選擇
2. 1 單片機與PC 機的通信連接
此次系統(tǒng)構(gòu)建的基于單片機與PC 通信的數(shù)據(jù)采集控制系統(tǒng)在單片機與PC 機的通信連接方面,,主要是采用串行通信的方式實現(xiàn)的,,這種方式能夠?qū)纹瑱C在現(xiàn)場采集到的各種數(shù)據(jù)通過串行通信的方式傳輸給計算機,而同時,,計算機也能夠通過這種方式實現(xiàn)自身對被控對象的遠(yuǎn)程控制功能,,文中設(shè)計的單片機與PC 機之間的通信電路如圖2 所示:
圖2 單片機與PC機之間的通信電路設(shè)計圖
如圖2 所示,在單片機端,,其輸入和輸出電平均為TTL,與PC 機的串口之間存在不同的電氣規(guī)范,,因此,必須通過電平轉(zhuǎn)換芯片使二者之間能夠達到一致,。在這里設(shè)計了MAX232 芯片作為RS - 232電平以及TTL 電平之間的轉(zhuǎn)換芯片,。圖2 之中的C4,C5,C6 以及C7 都是MAX232 芯片的電源變換電路的外接電容,而C8 電容則是電源的去耦合電容,,以消除對電源噪聲的影響,。在PC 機端其TXD信號是通過MAX232 芯片將RS - 232 電平轉(zhuǎn)換為TTL 電平,然后將具體的信號向單片機進行傳遞,,而在單片機端,,則是通過MAX232 芯片將TTL 電平轉(zhuǎn)換為RS - 232 電平,實現(xiàn)數(shù)據(jù)的傳遞,。而C1,C2以及Y1 則構(gòu)成了單片機的外接晶振電路,,電解電容C3 和電阻R1 構(gòu)成單片機復(fù)位電路。
2. 2 單片機與PC 機控制方式的選擇
在對于單片機控制方法的選擇上多是采用開關(guān)的方法,,在開關(guān)打到不同位置并且能夠?qū)?yīng)引起不同引腳電壓的過程中,,要能夠?qū)C 機的遠(yuǎn)程控制模式和單片機的本土控制模式進行不同位置的打開,這樣才能夠判斷好單片機運行的模式,,從而判斷當(dāng)前是處于PC 機的遠(yuǎn)程控制模式還是處于單片機的本土控制模式,。如果選擇的是前者,則PC 機根據(jù)自身內(nèi)置的算法庫中的算法程序?qū)Ξ?dāng)前的數(shù)據(jù)進行分析,,然后將得出的操作指令向單片機發(fā)送,再由單片機根據(jù)內(nèi)置的指令,,進行操作,。選擇后者則是單片機根據(jù)其采集到的實時數(shù)據(jù),與預(yù)先內(nèi)置的參數(shù)相對應(yīng),,從而選擇不同的預(yù)案,,以便對被控對象進行操控,。一般地,選擇前者能夠?qū)崿F(xiàn)更為精確的算法控制,,但是其復(fù)雜程度也就更高,,而后者的操作簡便,精度相對就比較有限,。具體地,,用戶在不同的應(yīng)用環(huán)境之下,可以根據(jù)自身的實際需要來選擇不同的控制模式,,從而提高系統(tǒng)的靈活性,。
3 系統(tǒng)軟件的設(shè)計
此次的系統(tǒng)軟件設(shè)計包括了單片機端以及PC機端,而且這兩個程序還分別運行于不同的實體之上,。在單片機端,,采用的是C51 對程序進行編寫,而對于PC 機端則采用的是VB 進行的程序編寫,。
3. 1 單片機端程序設(shè)計
單片機的初始化,,模擬信號和數(shù)字信號的轉(zhuǎn)換過程,都應(yīng)該包含在單片機端口的程序設(shè)計中,,對于信號和采集到的數(shù)據(jù),,以及和PC 機端口的通信程序等方面,都要進行合理的控制,。系統(tǒng)的初始化主要是將系統(tǒng)的各個設(shè)備設(shè)定到初始狀態(tài),,或者中斷初始化。這樣才能完成模擬信號和數(shù)字信號之間的轉(zhuǎn)化,,這些數(shù)據(jù)的采集都是利用軟件的模擬來完成的,,而且這樣可以轉(zhuǎn)化數(shù)字信號,將模擬的信號轉(zhuǎn)化為單片機能夠識別的數(shù)字信號,??刂瞥绦?qū)纹瑱C自身的內(nèi)置控制算法和計算控制數(shù)據(jù)等運行的具體程序都進行了操控和指令的發(fā)送,而接收程序則是在接收到1 個字節(jié)的數(shù)據(jù)之后,,就進行1 次中斷服務(wù),,然后繼續(xù)進行接受。
3. 2 PC 機端的程序設(shè)計
在PC 機端,,一般開發(fā)的工具就是采用VB6. 0可視化開發(fā)工具,,該部分的程序中主要是對于窗口的設(shè)計,系統(tǒng)初始化的設(shè)計,,對于數(shù)據(jù)接受程序的設(shè)計,,以及對于發(fā)送程序和文件存儲的程序以及控制算法內(nèi)容的設(shè)計。
文章主要介紹數(shù)據(jù)的采集和算法,。數(shù)據(jù)在采集之后,,一般要經(jīng)過長期的保存,,而且在PC 機的端口,都是在具體的文件之中保存著數(shù)據(jù),,根據(jù)文件的具體類型來進行打開的處理,。這種文件既可以是文本文件,也有可能是數(shù)據(jù)文件,,只有這樣,,才能夠在對控制對象進行遠(yuǎn)程控制的時候完成相應(yīng)數(shù)據(jù)的調(diào)取,然后利用控制算法進行計算,,再將數(shù)據(jù)通過通信空間向單片機發(fā)送,,單片機根據(jù)PC 機的指令具體執(zhí)行。
4 結(jié)語
文中主要是對于基于單片機和PC 機通信的數(shù)據(jù)采集和控制系統(tǒng)設(shè)計進行了研究,,設(shè)計思路主要包括了選型,、基本架構(gòu)、軟硬件的選用設(shè)計等,。此次構(gòu)建的系統(tǒng)能夠?qū)崿F(xiàn)采集被控制對象的多種參數(shù)信息,,并且將其傳遞至PC 機端,對相應(yīng)數(shù)據(jù)進行處理,,同時也能夠選擇通過PC 機來遠(yuǎn)程控制被控制對象,。該系統(tǒng)具有采集數(shù)據(jù)量大、精度高,、控制方式靈活等優(yōu)點,。