新聞中心
PRESS CENTER
在許多實(shí)時(shí)監(jiān)測系統(tǒng)中, 經(jīng)常需要接收距離較遠(yuǎn)的測控點(diǎn) 的數(shù)據(jù), 如何可靠快速地實(shí)現(xiàn)現(xiàn)場數(shù)據(jù)的采集、數(shù)據(jù)的遠(yuǎn)程傳輸 及輸出控制, 是這些監(jiān)測模塊必須解決的問題。在追求低成本的 現(xiàn)代化設(shè)計(jì)中, 許多功能強(qiáng)大, 性能可靠的單片機(jī)隨之產(chǎn)生了。 本文就是基于功能齊全、性價(jià)比高的 C8051F021 單片機(jī)而設(shè)計(jì) 的數(shù)據(jù)采集模塊。
1.1 硬件的總體結(jié)構(gòu)
本模塊的硬件總體結(jié)構(gòu)框圖如圖1所示

本模塊以 C8051F021 單片機(jī)為 CPU 控制單元的核心, 同 時(shí)還包括了數(shù)據(jù)采集、數(shù)據(jù)存儲、數(shù)據(jù)通信、光電耦合和斷電保 護(hù)等多種功能。由于 C8051F021 功能比較齊全, 因此使整個(gè)模 塊特別簡潔, 不僅減小了模塊的體積和功耗、大大節(jié)省了外圍設(shè) 備的開銷, 而且極大地提高了模塊的可靠性和穩(wěn)定性。
1.2 模擬量采集單元
本模塊選用 C8051F021 的 ADC0 模 /數(shù)轉(zhuǎn)換通道作為模 擬量信號的采集通道。如通過溫度、濕度傳感器實(shí)時(shí)采集工作環(huán) 境 的 溫 度 、 濕 度 情 況 。 由 現(xiàn) 場 采 集 的 模 擬 信 號 傳 送 到 C8051F021 的 ADC0 輸入通道的過程中必然要受到外來信號 的干擾, 從抗干擾和保證采集信號的高線性度考慮, 在輸入端選 用了高線性度光耦 HCNR201, 對模擬信號進(jìn)行一次隔離, 這樣 在較準(zhǔn)確獲得有用信號的同時(shí), 又去除了干擾成分。電路圖如圖 2 所示。圖中的前端運(yùn)放 LMV931 構(gòu)成負(fù)反饋放大電路, 抑制LED 中電流的變化; 后端運(yùn)放 LMV931 構(gòu)成 I/V 轉(zhuǎn)換電路。由圖 可知 VOUT /VAIN=KR30 /R28, 即輸出電壓與輸入電壓是呈線性關(guān)系 的, 且與 LED 的輸出光的強(qiáng)度無關(guān)。通過調(diào)整 R30 /R28 的值來調(diào) 整其電壓增益。R29 為 LED 的限流電阻, 兩個(gè)電容用于改善電路 的高頻特性。

1.3 開關(guān)量信號采集單元
該采集單元適用于對具有開關(guān)量的信號進(jìn)行采集, 如電路 的通電與否、水流的通過與否等開關(guān)量。電路如圖 3 所示。該采 集單元設(shè)計(jì)的是 220V 交流電壓輸入。設(shè)定當(dāng)輸入大約小于交 流峰值一半時(shí), 不給予響應(yīng)。為了避免電氣特性及惡劣工作環(huán)境 帶來的干擾, 該處采用光電耦合對信號實(shí)現(xiàn)了一次電- 光- 電的 轉(zhuǎn)換。在進(jìn)入光電耦之前又通過電解電容濾除部分尖峰脈沖, 同 時(shí)此電容又與分壓電阻形成放電回路, 這些措施有效地屏蔽了 信號傳輸過程中所受到的干擾。同時(shí)還安裝有 LED 工作指示 燈, 可以使用戶對每一通路的工作情況一目了然。

1.4 輸出控制單元
該單元是對現(xiàn)場采集數(shù)據(jù)進(jìn)行分析后, 由上位機(jī)工作人員或單片機(jī)按預(yù)先設(shè)置好的反饋條件自動地給出控制輸出, 來控 制帶有光電隔離的固體繼電器 JGX- 1505FB, 進(jìn)而驅(qū)動現(xiàn)場的 控制設(shè)備。同時(shí)也安裝有 LED 工作指示燈, 同樣可以對每一路 的工作狀況一目了然。
1.5 RS-485通信接口
從目前解決單片機(jī)中長距離通信的諸多方案分析來看, RS- 485 總線通信模式由于具有結(jié)構(gòu)簡單、價(jià)格低廉、通信距離 和數(shù)據(jù)傳輸速率適當(dāng)?shù)忍攸c(diǎn)而被廣泛應(yīng)用。因此本模塊采用 RS- 485 通信, 選擇 C8051F021 的 P0.0 和 P0.1 作為串行口的 TX0 和 RX0。從減少硬件的外圍設(shè)備考慮, 在電路中, 使用自帶 隔離的 RS- 485 接口芯片 IL485, 它采用雙電源供電, 在與單片 機(jī)相接端采用+3.3V 電源供電, 另一端采用+5V 電源供電。通過 單片機(jī) P2.4 置 0 或置 1 來控制 RS485 接口芯片的 DE 使能 端, 進(jìn)而控制通信數(shù)據(jù)的發(fā)送; 它的接收使能端 /RE 接地保持低 電平, 即發(fā)送使能無效時(shí), 始終保持接收狀態(tài)。具體電路如圖 4 所示。與普通的 RS- 485 芯片相比, 它能防止高電壓雷電沖擊。 對一些環(huán)境比較惡劣的現(xiàn)場, 可直接與傳輸線相接而不需要任 何外加保護(hù)元件。

模塊軟件采用匯編語言編寫, 主要由主程序模塊、數(shù)據(jù)采集 處理模塊、通信模塊、數(shù)據(jù)輸出控制模塊等組成。主程序的任務(wù) 包括各可編程器件、堆棧、各項(xiàng)參數(shù)等初始化。在初始化結(jié)束之 后, 立即開放中斷, 則判明中斷源后進(jìn)入相應(yīng)服務(wù)模塊( 如數(shù)據(jù) 采集、數(shù)據(jù)的發(fā)送和接收等) , 服務(wù)結(jié)束, 均返回主程序中的規(guī)定 入口, 等待下一輪循環(huán)。 數(shù)據(jù)采集模塊一般在現(xiàn)場工作, 由于現(xiàn)場工作的環(huán)境通常 比較惡劣, 以及各種設(shè)備引起的干擾較多, 使得采集的數(shù)據(jù)存在 一定的誤差, 除了在硬件上加強(qiáng)抗干擾措施外, 在軟件設(shè)計(jì)中也 采取了相應(yīng)措施。通過分析誤差產(chǎn)生的途徑和原因, 將采集數(shù)據(jù)中的誤差按粗大誤差、系統(tǒng)誤差和隨機(jī)誤差進(jìn)行分類, 并根據(jù)這 三類誤差的特點(diǎn)采用相應(yīng)的處理策略: 首先采用去極值平均濾 波消除粗大誤差和隨機(jī)誤差的影響, 其次考慮傳感器等元器件 所帶來的系統(tǒng)誤差對采集數(shù)據(jù)的影響, 并根據(jù)系統(tǒng)誤差得到的 修正值形成表格, 通過查表消除數(shù)據(jù)中的系統(tǒng)誤差。 另外, 為了確保模塊的可靠性和穩(wěn)定性, 還附加有掉電保 護(hù), 系統(tǒng)復(fù)位等其它軟件功能。
本文設(shè)計(jì)的是帶有 4 路傳感器等模擬量輸入、4 路帶光電 隔離的開關(guān)量輸入和繼電器輸出的數(shù)據(jù)采集模塊。本模塊選用 C8051F021 作為 CPU 的核心控制單元, C8051F021 有 64 個(gè) 管腳, 在本設(shè)計(jì)中有一部分管腳的空余, 可以利用這些空余的管 腳, 根據(jù)實(shí)際的需要進(jìn)行其它功能的擴(kuò)展。 本模塊的一個(gè)典型應(yīng)用就是在滴灌控制系統(tǒng)中。由傳感器 采集土壤的濕度, 與滴灌的下限值進(jìn)行比較, 來得到澆水與否的 命令。若為澆水命令, 則執(zhí)行澆灌輸出控制命令, 通過繼電器驅(qū) 動給水電磁閥。同時(shí)由 4 路開關(guān)量采集水流信息, 從而得到澆灌 是否順利進(jìn)行的反饋信息。與此同時(shí)土壤濕度傳感器實(shí)時(shí)采集 土壤的水分含量, 當(dāng)超過滴灌的上限值時(shí), 將執(zhí)行關(guān)閉電磁閥的 輸出控制命令。如圖 5 的系統(tǒng)框圖所示。
