【正文】
變化甚至是災害預警提供可靠的支持 。 單片機是一種集成電路芯片,是采用超大規(guī)模集成電路技術把具有數據處理能力的中央處理器 CPU 隨即存儲器 RAM,只讀存儲器 ROM、多種 I/O 口和中斷系統、定 時器、計時器等功能集成到一塊硅片上構成的一個小而完善的計算機系統。 中央處理器 CPU 是單片微型計算機指揮、執(zhí)行中心,由它讀程序并執(zhí)行指令。CPU功能,是以不同方式來執(zhí)行各種指令。有的指令涉及到各個寄存器之間的關系;有的指令涉及到單片機核心電路內部各功能部件的關系;有的則與外部器件發(fā)生關系??偟膩碚f CPU是通過復雜的時序電路來完成不同的指令功能的。 對于本設計單片機結構簡單實用性強,功能齊全,技術先進,使實現這設計不難實現。同時, C 語言是單片機的重要“組成”,如果能掌握好 C 語言編程,這將很大程度上提高了開發(fā)效 率。 在設計過程中我們采用了軟硬件雙結合的方式,軟件設計的方法簡化了硬件的要求,為設計創(chuàng)造了條件。單片機采用的 STC89C52的單片機。 設計思路及方案 水位傳感方式的選擇 簡單的控制方式有浮標式、電極式等,這些控制方式的優(yōu)點是結構簡單,成本低廉。但有很多問題存在,比如是精度不高,不能進行數值顯示,另外很容易引起誤查,且只能單獨控制,與計算機進行通信連接比較難實現,很難快速準確傳輸信號,所以不利于水位信號的傳送 。 位 傳感 器的特點及應用 水位 浮球開關 特點: 1小型浮球液位開關是一 種結構簡單,使用方便的液位控制零件,它設有復雜的電路,不會受到干擾 , 只要材質選擇正確,任何性質液體、壓力、溫度皆可使用。液體介質性質與浮球關系 : 2液體比重不同時,浮球的動作位置將會有所變動,一般 SG比水小時,浮球浸在液體中部分將相對增多。水位檢測報警系統 5 3 浮球開關產品參考比重以水( SG= 1)所以使用時在選用浮球時須考慮液位的比重 SG,一定大于浮球規(guī)格所標示,否則,浮球開關無法浮動。 4粘度高不會干涸的液體,一般應選用外徑較大的不銹鋼浮球。 5浮球開關是使用磁鐵來感應磁簧開關,因此被測液位應無鐵屑,否則鐵屑粘在浮球上面浮球浮不起 來會影響浮球隊開關的動作。用途:不銹鋼浮球液位開關專門用于各種中小型常壓和受壓儲液罐的液位檢測、信號遠傳、開關報警,可適用于各種衛(wèi)生、環(huán)保、有毒、帶濃酸堿腐蝕性強介液體使用。 圖 1 水位 浮球 式傳感器及 工作原理 浮子開關是利用開關上面磁性浮子隨液位升或降,使開關檢測管內設定位置的干簧管芯片動作,發(fā)出接點開(關)轉換信號。 動作原理:在密閉的非導磁性管內安裝有一個或多個干簧管,然后將此管穿過一個或多個中空且內部有環(huán)形磁鐵的浮球,液體的上升或下降將帶動浮球一起上下移動,從而使該非導磁性管內的干簧管 產生吸合或斷開的動作,從而輸出一個開關信號,也叫做無源觸點信號。 應用范圍 : 我們常見的浮子開關一般水箱里面控制水位,用水箱高液位或者低液位報警作用。還可以用在飲水機、空調、加濕器、霧化器、空壓機、凈水器、水箱、熱水爐、水池、油箱、油罐、壓力罐、一些有酸堿液體的大小型設備。 適用范圍廣、安裝形式多樣側裝、直裝、頂部和底部安裝、螺紋法蘭安裝達到多點液位報警效果。 無源器件 ,性能穩(wěn)定可靠,安全方便,抗干擾能力強,結構簡單,安裝方便,維護費用低。 系統的組成 水位檢測報警系統 6 水位控制系統由電源電路、水位探測傳感電路、穩(wěn)壓 電路、繼電器控制電機加水電路、水位顯示電路、單片機 STC89C52 組成。系統組成的方框圖如下: 圖 2 系統組成方框圖 當水箱里的水位在 低水位 的時候傳感器傳給穩(wěn)壓電路一個低電平,低電平通過穩(wěn)壓電路里的 NPN 三極管、電容、電阻轉換成高電平。單片機收到高電平,表示水箱里沒有水了需要系統開始運作,給水箱加水,這時單片機通知紅燈 緩慢閃爍,蜂鳴器報警 。水位達到高水位時傳感器同時傳送給單片機一個低電平, 紅燈閃爍頻率加 快 ,蜂鳴器報警頻率加快 。 同理,水位從高水位下降 時 ,水位離開高 水位線時,高水位傳感器探頭與電源斷開,傳感器輸出高電平給單片機 。當水位下降到蓄水位時,紅燈 閃爍變慢。 圖 3 穩(wěn)壓電路圖 水位報警電路 電源電路 穩(wěn)壓電路 水位傳感器 水位顯示 單片機STC89C52 水位檢測報警系統 7 本電路的主要作用是使從傳感器輸入 的電平能夠穩(wěn)定的輸入到單片機中,是由三極管 901兩個電阻、和一個無極性電容組成。 如果我們不使用此穩(wěn)壓電路也能實現我們的設計目的,但有時會產生水位誤判和不穩(wěn)定現象,所以我認為此電路是不可缺少的。 圖 4 水位顯示電路圖 本電路采用不不同顏色的 LED 作為顯示裝置,有單片機 、 口控制進行水位顯示。紅燈 閃爍緩慢 代表水位在 低 水位。 紅燈閃爍急促表 示在高水位以上。 此電路采用的是共陽極的,所以只有單片機給發(fā)光二極管為低電平的時候才能是發(fā)光二極管點亮。 R1, R4,為上拉電阻 起限壓控流作用。 LED( Light Emitting Diode),發(fā)光二極管,是一種固態(tài)的半導體器件,它可以直接把電轉化為光。 LED 的心臟是一個半導體的晶片,晶片的一端附著 LED燈株在一個支架上,一端是負極,另一端連接電源的正極,使整個晶片被環(huán)氧樹脂封裝起來。半導體晶片由兩部分組成,一部分是 P型半導體,在它里面空穴占主導地位,另一端是 N型半導體,在這邊主要是電子。但這兩種半導體連接起來的時候,它們之間就形成一個“ PN 結”。當電流通過導線作用于這個晶片的時候,電子就會被推向 P區(qū),在 P區(qū)里電子跟空穴復合, 然后就會以光子的形式發(fā)出能量,這就是 LED 發(fā)光的原理。而光的波長決定光的顏色,是由形成 PN結材水位檢測報警系統 8 料決定的。 圖 5 振蕩電路和復位電路圖 振蕩電路和復位電路是單片機不可缺少的部分,是單片機的重要組成,它們集成在單片機里,對于單片機穩(wěn)定工作有至關重要的作用。并且可以延長它的使用壽命。 下列 二 種情況發(fā)生系統報警 : 1當 水位 達到上限極限水位時報警,水位到達上限極限水位時系統發(fā)出報警; 2當水位達到下限極限水位時報警,水位到達下限極限水位時系統發(fā)出報 警 ; 1 2 3 4ABCD4321DCBAT i t l eN u m b e r R e v i s i o nS i z eA4D a t e : 2 4 J u n 2 0 0 7 S h e e t o f F i l e : C : \ D o c u m e n t s a n d S e t t i n g s \ A d m i n i s t r a t o r \ 桌面 \ 加油 \ 大圖 \ 曹德寶大圖 . d d bD r a w n B y :A1B2QA3QB4QC5QD6CLK8CLR9QE10QF11QG12QH137 4 L S 1 6 4abfcgdeV C C1234567abcdefg8 dpdp9A M B E R C A1K 1K1K1K1K1K1K 1KQLSS P E A K E RR1K+ 1 2231UA7 4 L S 3 3A17A18A19A20A21A22A23A24A 1 7A 1 8A 1 9A 2 0A 2 1A 2 2A 2 3A 2 412 3UA 圖 6 自動報警電路的接線 圖 水位檢測報警系統 9 3 水位 檢測 系統的整體電路仿真圖 圖 7 水位控制系統仿真圖 實物圖 圖 8 實物圖 4 各種水位情況下的仿真圖 高水位狀態(tài) 水位檢測報警系統 10 加水水到達在蓄水位時:高水位警示燈 紅燈閃爍急促,蜂鳴器快頻率鳴叫 。仿真圖如下所示: 圖 9高水位仿真圖 低 水位狀態(tài) 水位減少到低水位時:低水位警示 紅燈閃爍,蜂鳴器低頻率鳴叫 。仿真圖如下所示: 圖 10 低水位仿真圖 水位檢測報警系統 11 5 通信單元硬件設計 MAX485僅有 8 個管腳,電路設計比較簡單。 RO引腳接 到單片機串口接收引腳 RXD( ) , DI引腳接到單片機串口發(fā)送引腳 TXD( ) 。由于 MAX485為半雙工通信方式,不能同時發(fā)送和接收數據,只能通過控制 RE和 DE引腳的狀態(tài)來進行發(fā)送數據和接收數據的轉換。為了節(jié)省單片機 I/O 口資源,將 RE 和 DE 引腳連在一起,輸入低電平時, MAX485 處于接收狀態(tài);輸入高電平時,其處于發(fā)送數據狀態(tài)。定義 RE和 DE連接在一起的網絡標號為 E,接入單片機 P1 口 , 用于發(fā)送與接收的轉換。 A, B 端為發(fā)送接收差分信號端,一般需在 A,B端之間加匹配電阻,匹配電阻為 120Ω 。 硬件電路 如圖 313: 圖 12 串行通信模塊電路圖 6 上位機顯示單元 上位機編程與下位機結合對應,下位機發(fā)“ 0”代表當前水位為高水位,下位機發(fā)“ 1” 代表當前水位為低水位。 水位變化當高水位發(fā)“ 0”時上位機接受到對應 ASCII碼為 48,此時上位機顯示 “ 警戒!當前水位為高水位! ”。 圖 11 MAX485 引腳圖 水位檢測報警系統 12 水位變化當高水位發(fā)“ 1”時上位機接受到對應 ASCII碼為 49,此時上位機顯示“ 警戒!當前水位 太低 ! ”。 圖 13 上位機程序代碼 圖 14 水位檢測報警系統窗體 水位檢測報警系統 13 7 設計總結 通過這次項目設計,上位機和 下位機的編程中我對軟件開發(fā)有了進步的了解,把理論知識應用于實驗中。也讓我重新熟悉了 C語言和 C