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