智能水塔水位控制器畢業(yè)設(shè)計(jì)論文_第1頁(yè)
智能水塔水位控制器畢業(yè)設(shè)計(jì)論文_第2頁(yè)
智能水塔水位控制器畢業(yè)設(shè)計(jì)論文_第3頁(yè)
智能水塔水位控制器畢業(yè)設(shè)計(jì)論文_第4頁(yè)
智能水塔水位控制器畢業(yè)設(shè)計(jì)論文_第5頁(yè)
已閱讀5頁(yè),還剩40頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、智能水塔水位控制器目 錄第一章 前言 2 第二章 功能說(shuō)明,結(jié)合功能框圖 3第三章 使用操作說(shuō)明 5第四章 原理圖分析主要部分工作原理 7第五章 PCB板制作 9第六章 主要芯片資料應(yīng)用說(shuō)明 11第七章 程序框圖及說(shuō)明 15第八章 調(diào)試數(shù)據(jù)記錄表及調(diào)試故障現(xiàn)象及其解決方法 16第九章 心得體會(huì) 20第十章 致謝 22第十一章 參考文獻(xiàn) 23第十二章 附錄(源程序) 24第一章 前 言目前我國(guó)水資源已經(jīng)相當(dāng)?shù)膮T乏,如何節(jié)約用水也成為了電子愛(ài)好者設(shè)計(jì)制作的焦點(diǎn)?,F(xiàn)有的二級(jí)供水方式,既先用水泵從水井中抽到蓄水池中供用戶(hù)使用,要求蓄水池的水位必須保持一定的高度,還需要防止水的溢出??墒乾F(xiàn)在市售的都是傳

2、統(tǒng)的水位控制器,多以浮球式、觸點(diǎn)式為主,可靠性不好,有著無(wú)法改進(jìn)的致命缺點(diǎn),如:無(wú)水位顯示,無(wú)電機(jī)保護(hù),可靠性不高,控制精度改進(jìn)度不大,壽命不長(zhǎng)相對(duì)于機(jī)械式水位控制器,電子式的水位控制器有著無(wú)可比擬的優(yōu)點(diǎn):添加水位顯示電路、電機(jī)保護(hù)電路、強(qiáng)制性手動(dòng)開(kāi)、關(guān)機(jī)電路可以達(dá)到水位顯示、簡(jiǎn)單的電機(jī)保護(hù)、水位自動(dòng)控制,控制精度是傳統(tǒng)機(jī)械式水位控制器的幾何倍。本控制器采用了高效率、高穩(wěn)定性、低功耗的ATMEL80s51單片機(jī),具有水位狀態(tài)顯示、抽水時(shí)間顯示、并有故障檢測(cè)功能。集高效、高精度、高穩(wěn)定性、低功耗、高性?xún)r(jià)比、良好的人機(jī)交流界面、操作簡(jiǎn)便、顯示直觀以及低功耗等功能于一體的智能水塔水位控制器無(wú)疑將會(huì)家

3、用水位控制器極具競(jìng)爭(zhēng)力的一匹黑馬。第二章 功能說(shuō)明,結(jié)合功能框圖數(shù)碼管顯示 狀態(tài)指示燈 按鍵 控制部分潛水泵 報(bào)警裝置 水位開(kāi)關(guān) 結(jié)構(gòu)方框圖(-)本產(chǎn)品控制部分采用低電壓,高性能CMOS8位微處理器ATMEL的AT89S51,該器件采用ATMEL高密度非易失存儲(chǔ)器制造技術(shù)制造,與工業(yè)標(biāo)準(zhǔn)的MCS-51指令集和輸出管腳相兼容。由于將多功能8位CPU和閃爍存儲(chǔ)器組合在單個(gè)芯片中,功能十分強(qiáng)大并且價(jià)格低廉。水位開(kāi)關(guān)采用三組帶環(huán)行磁鐵的密封在水管中的干簧管,磁鐵在水的浮力作用下吸合干簧管而使之導(dǎo)通,靈敏度很高。工作電壓: 220V 10%消耗功率: 0.1W(待機(jī)) 2W(工作)控制輸出功率:6.6K

4、W水位控制精度: 5cm短期使用環(huán)境溫度: 4075度短期使用環(huán)境濕度: 5%95%穩(wěn)定使用環(huán)境溫度: 20度50度長(zhǎng)期使用環(huán)境濕度: 35%80%誤 差 : 1%2.1 各部分的設(shè)計(jì):2.1.1 水位開(kāi)關(guān)的設(shè)計(jì): 三個(gè)水位開(kāi)關(guān)由三個(gè)鋼簧管組成。分別安裝在水塔的高,中,低部位。最高是停止抽水,最低是啟動(dòng)抽水,中間是起時(shí)間報(bào)警保護(hù)水泵作用。2.1.2 潛水泵的選擇: 水泵為單相水泵。潛水泵安裝在水源內(nèi)部。2.1.3 設(shè)計(jì)按鍵部分:復(fù)位按鍵,維護(hù)按鍵,模式按鍵,功能按鍵,電源開(kāi)關(guān)。 復(fù)位按鍵設(shè)計(jì)在內(nèi)部。維護(hù)按鍵,模式按鍵,功能按鍵,電源開(kāi)關(guān)按鍵都安裝在外部。 2.1.4 數(shù)碼管顯示設(shè)計(jì): 抽水時(shí)間

5、和次數(shù),由一個(gè)四位數(shù)碼管顯示2.1.5 報(bào)警器的設(shè)計(jì): 以低電平觸發(fā)。當(dāng)電機(jī)出現(xiàn)空轉(zhuǎn),欠壓,失壓,水源缺水以及系統(tǒng)電路出現(xiàn)故障時(shí),進(jìn)行自動(dòng)報(bào)警并且自動(dòng)控制電機(jī)停止運(yùn)轉(zhuǎn)。2.1.6 狀態(tài)指示燈設(shè)計(jì): 當(dāng)紅、黃、綠三燈同時(shí)亮起時(shí)顯示水位已滿(mǎn),紅燈閃爍表示高水位警告顯示,紅燈亮表示高水位正常顯示,黃燈亮表示中水位顯示,綠燈亮表示低水位正常顯示,綠燈閃爍表示低水位警告,紅黃綠三燈同時(shí)閃爍表示水源缺水報(bào)警。2.1.7 控 制 部 分: 按下電源開(kāi)關(guān)后,本產(chǎn)品開(kāi)始自動(dòng)檢測(cè),若無(wú)故障則開(kāi)始工作,檢測(cè)水塔內(nèi)的水位,若水位過(guò)低則綠燈閃爍,自動(dòng)啟動(dòng)水泵開(kāi)始抽水直到水滿(mǎn),數(shù)碼管開(kāi)始顯示抽水時(shí)間,水位過(guò)中間時(shí)黃燈會(huì)亮

6、,當(dāng)水抽滿(mǎn)時(shí)三盞等全亮;如果水位正常則本產(chǎn)品進(jìn)入待機(jī)狀態(tài)。第三章 使用操作說(shuō)明3.1 產(chǎn)品操作簡(jiǎn)介:三盞燈常亮高水位警告紅燈閃爍水滿(mǎn)紅燈常亮高水位正常黃燈常亮中水位顯示綠燈常亮低水位正常綠燈閃爍低水位警告三燈閃爍水源缺水報(bào)警 指示燈功能表(一)本產(chǎn)品為智能化水位自動(dòng)控制器,接同電源后無(wú)須任何操作即可自動(dòng)工作。如有必要也可通過(guò)按鍵在任何正常工作情況下強(qiáng)制開(kāi)啟停止水泵。產(chǎn)品面板上有三個(gè)按鍵,左邊一個(gè)紅色帶鎖的維護(hù)鍵,中間一個(gè)綠色點(diǎn)觸式模式鍵、和右邊一個(gè)綠色點(diǎn)觸式按鍵,內(nèi)部還有一個(gè)復(fù)位按鍵,按下復(fù)位鍵則恢復(fù)默認(rèn)設(shè)置。四個(gè)數(shù)碼管分別顯示和記錄抽水次數(shù)、時(shí)間。當(dāng)紅、黃、綠三燈同時(shí)亮起時(shí)顯示水位已滿(mǎn),紅燈

7、閃爍表示高水位警告顯示,紅燈亮表示高水位正常顯示,黃燈亮表示中水位顯示,綠燈亮表示低水位正常顯示,綠燈閃爍表示低水位警告,紅黃綠三燈同時(shí)閃爍表示水源缺水報(bào)警。 操作規(guī)程:按下電源開(kāi)關(guān)后,本產(chǎn)品開(kāi)始自動(dòng)檢測(cè),若無(wú)故障則開(kāi)始工作,檢測(cè)水塔內(nèi)的水位,若水位過(guò)低則綠燈閃爍,自動(dòng)啟動(dòng)水泵開(kāi)始抽水直到水滿(mǎn),數(shù)碼管開(kāi)始顯示抽水時(shí)間,水位過(guò)中間時(shí)黃燈會(huì)亮,當(dāng)水抽滿(mǎn)時(shí)三盞等全亮;如果水位正常則本產(chǎn)品進(jìn)入待機(jī)狀態(tài)。 用水時(shí),數(shù)碼管全部顯示橫杠,三盞指示燈顯示相應(yīng)的水位,燈的顯示情況與水位狀況如下所示:本產(chǎn)品的水位為自動(dòng)控制,在水位過(guò)低時(shí)可自動(dòng)抽水,水滿(mǎn)則自動(dòng)停機(jī)。若想進(jìn)入手動(dòng)狀態(tài),在抽水狀態(tài)下按下紅色維護(hù)鍵,再按

8、下功能鍵就停止抽水,再按一次則再次啟動(dòng)水泵抽水;在待機(jī)狀態(tài)下按下紅色維護(hù)鍵,再按一次功能鍵就啟動(dòng)水泵抽水,再按一次則停止抽水。注意:在水已經(jīng)滿(mǎn)了的時(shí)候,按啟動(dòng)鍵無(wú)效,不能手動(dòng)啟動(dòng)水泵。在不抽水的用水期按下維護(hù)鍵,數(shù)碼管顯示00-00,可通過(guò)功能鍵可以翻閱以前的抽水次數(shù)和時(shí)間。當(dāng)出現(xiàn)了一些程序錯(cuò)誤不能正常工作的時(shí)候,按下內(nèi)部的復(fù)位鍵則可以解決大部分的問(wèn)題。按下復(fù)位鍵的同時(shí)再按下模式跟功能按鍵1S以上則清除所有數(shù)據(jù),恢復(fù)出廠狀態(tài)。第四章 原理圖分析主要部分工作原理 4.1 電源部分采用了常用的三端穩(wěn)壓電路。通過(guò)變壓器將220v的市電降成12v的交流電,經(jīng)過(guò)D1D4橋堆和2200UF電容進(jìn)行整流、濾

9、波,通過(guò)0.1uf電容濾出高次諧波,得到了波形叫平穩(wěn)的13.2v左右的直流電,通過(guò)7812后得到了非常平穩(wěn)的12v直流電;再經(jīng)過(guò)一次相同的穩(wěn)壓過(guò)程得到了紋波系數(shù)更小的5v直流電。整個(gè)電路的輸出功率也完全可以達(dá)到本廠品的需求。 原理圖(-)4.2 主面板: 主要是由TA89S51、24C04存儲(chǔ)芯片和一些外圍電路構(gòu)成主要由小電流控制大電流。由三個(gè)水位開(kāi)關(guān)分別裝在水塔的“上,中,下”三個(gè)水位。當(dāng)水塔水位在底水位時(shí),底水位傳感器信號(hào)輸入給TA89S51 P2.5-P2.7,然后TA89S51通過(guò)P3.7控制光耦來(lái)控制水泵抽水,直到水塔抽滿(mǎn),水泵才停.在抽水的過(guò)程中4位數(shù)碼管顯抽水時(shí)間,和的抽水的次數(shù)

10、.4.3 TA89S51各引腳所對(duì)應(yīng)外電路如下:P0.0P0.7數(shù)碼管驅(qū)動(dòng)P1.0P1.2按鍵控制輸入端P1.3P1.5指示燈輸出端P1.6P1.7接24C204第5、6腳P2.0P2.4數(shù)碼管位選信號(hào)輸出P2.5P2.7傳感器信號(hào)輸入P3.7接光耦第2腳4.4 24C04各引腳功能:第1、2、3、4、7腳接地第8腳接電源4.5 光耦各引腳功能:第1腳5v電源第2腳P3.7第3腳懸空第4腳三極管Q5基極第5腳12v電源第6腳懸空第五章 PCB板制作5.1 主面板PCB: 5.2 控制與顯示PCB:5.3 電源部分:5.5 電路板的選用: 選用環(huán)氧樹(shù)脂板, 環(huán)氧樹(shù)脂與銅箔有極好的粘合力,同箔的附

11、著強(qiáng)度與工作溫度高,可以在260度的焊錫熔中不起泡。也可使用覆銅聚四氟乙烯玻璃布層壓板。不同的材料有不同的特點(diǎn),由調(diào)試中可能多次更換元件,所以要考慮到銅箔的粘合力。5.6 布線(xiàn)注意事項(xiàng):布線(xiàn)的好環(huán)直接影響著放大器的性能,不好的線(xiàn)路板,會(huì)使信號(hào)產(chǎn)生歧變,產(chǎn)生本底噪音生尖峰脈沖干擾等,為了盡避免上述影響,線(xiàn)路板在線(xiàn)出盡量做到:5.6.1 接照信號(hào)的傳輸路徑由小到大的順序在電路板上合路的布置各各元器的位置,盡量縮短各元器件之間的距離,以減少外部干擾的引入和不必要的干擾。5.6.2 在供電線(xiàn)路中,大電流通過(guò)的路徑應(yīng)盡量度設(shè)計(jì)得實(shí)一些,以降低電源內(nèi)阻,使電流能順利通過(guò)。5.6.3 在供電線(xiàn)路中,應(yīng)盡量避

12、免大電流的印刷電路式導(dǎo)線(xiàn)交布置在小電流通路的中間或附近,以免造成對(duì)小電流的干擾。5.6.4 走線(xiàn)時(shí),應(yīng)盡量走大于90度直角的線(xiàn)以防止產(chǎn)生尖峰脈沖造成干擾。5.6.5 在設(shè)計(jì)電線(xiàn)時(shí),盡量使星型供電方式,而且地的低盡量離濾波電的地端近。,5.6.6 大功率元件與小功率元件盡量分開(kāi)布線(xiàn)。第六章 主要芯片資料應(yīng)用說(shuō)明6.1 AT89S51單片機(jī):ATMEL公司生產(chǎn)的AT89S51單片機(jī)是采用高性能的表態(tài)8051設(shè)計(jì),由先進(jìn)工藝制造,并帶有非易性FLADSH程序存儲(chǔ)器。它是一種高性能、低功耗的8位CMOS微處理芯片,市場(chǎng)應(yīng)用多。主要性能特點(diǎn)有: l 8KB FLASH ROM,可以擦除1000次以上,數(shù)

13、據(jù)保存10年。 l 256字節(jié)內(nèi)部RAM。 l 電源控制模式時(shí)鐘可停止和恢復(fù);空閑模式;掉電模式。 l 5個(gè)中斷源。 l 2個(gè)中斷優(yōu)先級(jí)。 l 4個(gè)8位I/O口。 l 全雙工增強(qiáng)型UART。 l 2個(gè)16位定時(shí)/計(jì)數(shù)器,T0、T1(標(biāo)準(zhǔn)80C51) l全靜態(tài)工作方式:024MHz。6.2 8051單片機(jī)的簡(jiǎn)介:MCS-51單片機(jī)是Intel公司在1980年繼MCS-48系列8位單片機(jī)之后推出的高檔8位單片機(jī)。MCS-51單片機(jī)在性能和片內(nèi)功能方面大大優(yōu)于MCS-48系列單片機(jī)。MCS-51的典列產(chǎn)品有:8031、8051、8751。8051內(nèi)部有4KBROM,8751內(nèi)部有4KBEPROM,8

14、031片內(nèi)無(wú)ROM;除此之外,三者的內(nèi)部結(jié)構(gòu)完全相同。在此主要介紹8051單片機(jī)。8051單片機(jī)內(nèi)部由CPU、4KBROM、256B有RAM、兩個(gè)16位的定時(shí)/計(jì)數(shù)器T0和T1,4個(gè)8位的I/O端口P0、P1、P2、P3、串行口等組成。其內(nèi)部原理框圖如下:芯片內(nèi)部結(jié)構(gòu)圖(-)6.2.1 8位CPU由運(yùn)算器、指令寄存器、定時(shí)和控制電路、振蕩器等電路組成。為整個(gè)單片機(jī)芯片提供控制邏輯時(shí)序信號(hào),并完成各類(lèi)算術(shù)、邏輯運(yùn)算。6.2.2 存儲(chǔ)器電路:由4K字節(jié)的ROM或EPROM,以及程序地址寄存器等組成程序存儲(chǔ)器電路。用來(lái)存放程序。若內(nèi)部存儲(chǔ)器容量不足,可擴(kuò)展外部存儲(chǔ)器,程序存儲(chǔ)器最大容量可達(dá)64K字節(jié)

15、。由128個(gè)字節(jié)的RAM及RAM地址寄存器等組成數(shù)據(jù)存儲(chǔ)器電路,用以存放用戶(hù)數(shù)據(jù)。也可擴(kuò)展外部數(shù)據(jù)存儲(chǔ)器,外擴(kuò)最大容量可達(dá)64K字節(jié)。還有20幾個(gè)特殊功能寄存器(SFR)。包括累加器ACC、B寄存器、數(shù)據(jù)指針DPTR等,用以臨時(shí)存放中間運(yùn)算結(jié)果或一些特殊用途等。6.2.2 輸入、輸出接口電路P0、P1、P2、P3口的鎖存器、驅(qū)動(dòng)器及串行口控制等組成并行/串行接口電路,完成片機(jī)與外部設(shè)備之間的數(shù)據(jù)交換。兩個(gè)16位定時(shí)/計(jì)數(shù)電路構(gòu)成定時(shí)器/計(jì)數(shù)器接口。中斷電路為5個(gè)中斷源提供中斷邏輯控制信號(hào)。AT89S51工作極限參數(shù):工作溫度 儲(chǔ)藏溫度 任一腳對(duì)地電壓 1.0V to +7.0V最高工作電壓 6

16、.6直流輸出電流 25.0mA6.3 引腳說(shuō)明:8051單片機(jī)的外形結(jié)構(gòu)為40條引腳雙列直插式封裝,其引腳排列如圖:引腳說(shuō)明圖(-)6.3.1 主電源引腳Uss(20腳):電路地電平。Ucc(40腳):正常運(yùn)行和編程校驗(yàn)時(shí)為+5V電源。6.3.2 外接晶振或外部振蕩器引腳XTAL1和XTAL2:接外部晶振電路。當(dāng)采用外部振蕩電路時(shí),XTAL1應(yīng)當(dāng)接地,XTAL2接外部振蕩信號(hào)的輸入。6.3.3 制引腳RST/Upd:RST是復(fù)位信號(hào)輸入端。Upd為備用電源輸入端,即Ucc掉電時(shí),由此引腳提供備用電源,以保持內(nèi)部RAM的信息。ALE/PROG:ALE是地址鎖存允許信號(hào)。PROG為編程脈沖輸入端,

17、即當(dāng)選用8751單片機(jī)時(shí),對(duì)片內(nèi)程序存儲(chǔ)器進(jìn)行編程時(shí),由此引腳輸入編程脈沖。PSEN:訪問(wèn)外部程序存儲(chǔ)器選通信號(hào),低電平有效。Upp/EA:EA為訪問(wèn)內(nèi)部或外部程序存儲(chǔ)器選擇信號(hào)。為1時(shí),訪問(wèn)內(nèi)部程序存儲(chǔ)器;當(dāng)程序計(jì)數(shù)器PC超過(guò)片內(nèi)程序存儲(chǔ)器地址時(shí),將自動(dòng)轉(zhuǎn)向外部程序存儲(chǔ)器繼續(xù)運(yùn)行。為0時(shí),則只能訪問(wèn)外部程序存儲(chǔ)器。6.3.4 輸入/輸出口引腳P0口(3239):8位漏極開(kāi)路雙向并行I/O端口。當(dāng)訪問(wèn)外部存儲(chǔ)器時(shí),它是復(fù)用的地址和數(shù)據(jù)總路線(xiàn);外部不擴(kuò)展只做單片使用時(shí),用做雙向I/O口;在進(jìn)行片內(nèi)部程序校驗(yàn)期間,作指令代碼輸出,負(fù)載能力為8個(gè)LSTTL。P1口(18):8位準(zhǔn)雙向并行I/O端口,

18、在片內(nèi)程序校驗(yàn)期間,作低8位地址用。負(fù)載能力為4個(gè)LSTTL。P2口(2128):8位準(zhǔn)雙向并行I/O端口。當(dāng)訪問(wèn)外部存儲(chǔ)器時(shí)做高8位地址用;不做外部擴(kuò)展時(shí),則做為準(zhǔn)雙向I/O口使用;在片內(nèi)程序校驗(yàn)時(shí)作高8位地址線(xiàn)負(fù)載能力為4個(gè)LSTTL。第七章 程序框圖及說(shuō)明開(kāi)始調(diào)用函數(shù)庫(kù)初始化源程序水位、按鍵掃描狀態(tài)掃描數(shù)碼管顯示指示燈狀態(tài)24C04讀寫(xiě)操作啟停加水時(shí)間計(jì)時(shí)蜂鳴器報(bào)警電機(jī)運(yùn)行監(jiān)控 程序流程圖(-)程序清單詳見(jiàn)附錄第八章 調(diào)試數(shù)據(jù)記錄表及調(diào)試故障現(xiàn)象及解決方法8.1 硬件調(diào)試: (一)、首先我們將硬件分為五個(gè)小模塊(電源模塊、主面板模塊、顯示模塊、按鍵和指示燈模塊、傳感器部件)進(jìn)行腐蝕并焊接

19、好元件,將各個(gè)模塊都進(jìn)行測(cè)試。8.1.1 電源模塊:說(shuō)明:因?yàn)槲覀兊睦^電器需要12V進(jìn)行驅(qū)動(dòng),所以在此我們所選用的變壓器為220V12V交流變壓器,整流元件選用7812跟7805穩(wěn)壓管。調(diào)試:它的輸出電壓就得到了我們所需要的12V、5V、GND電源。焊接好元件后,接好變壓器,發(fā)現(xiàn)電源的指示燈不亮,用手觸摸7812與7805穩(wěn)壓管,發(fā)現(xiàn)7812與7805穩(wěn)壓管?chē)?yán)重發(fā)熱,用萬(wàn)用表測(cè)量輸出電壓,發(fā)現(xiàn)12V、5V于GND的電壓都為0.36V。立即取下變壓器。將電路進(jìn)行檢測(cè),在此我就對(duì)元件的引腳分別加以測(cè)試,看其是否短接。經(jīng)過(guò)測(cè)試發(fā)現(xiàn)7812穩(wěn)壓管的散熱片與電容的接地腳短接,7805穩(wěn)壓管的散熱騙與電阻

20、的的輸入腳短接。我們將穩(wěn)壓管平放在電路板上,測(cè)試無(wú)短接的情況下再次接上變壓器。電源指示燈亮,用萬(wàn)用表測(cè)試輸出電壓,分別為+12.05V、+4.98V、GND。電源部分正常工作。將測(cè)試數(shù)據(jù)交給PCB制作人,讓他修改好PCB,不讓散熱片再次有短接的情況。8.1.2 主面板模塊:說(shuō)明:主面板選用AT89S51芯片進(jìn)行控制,24C04芯片作為外部存儲(chǔ)擴(kuò)充空間。AT89S51單片機(jī)控制光耦芯片的斷開(kāi)與閉合來(lái)控制NPN三極管的導(dǎo)通,繼電器的驅(qū)動(dòng)電壓是+12V直流,當(dāng)三極管導(dǎo)通后繼電器的線(xiàn)圈就有了+12V的直流電壓。從而觸發(fā)繼電器的斷開(kāi)與閉合。調(diào)試:主要測(cè)試對(duì)象是繼電器能否帶動(dòng)大功率的水泵(750W),復(fù)位

21、電路是否正常。繼電器:將電源插在主面板上,接好水泵,寫(xiě)入一個(gè)測(cè)試程序,將AT89S51的17腳置為低電平,接通電源后,查看繼電器是否閉合。得到預(yù)期的實(shí)驗(yàn)結(jié)果,繼電器正常工作。#includesbit P37=a ;main()a=0;(在光耦芯片中,我們可以看到當(dāng)給以P3.7低電平(GND)時(shí),光耦芯片將會(huì)導(dǎo)通,三極管將會(huì)導(dǎo)通從而使繼電器閉合,水泵工作。)按下電源開(kāi)關(guān),查看水泵是否正常工作,繼電器能否承受起20mA的沖擊電流,測(cè)試后發(fā)現(xiàn),水泵正常工作。繼電器完好無(wú)損!主面板的繼電器部分正常。復(fù)位電路:接好電源后,測(cè)試單片AT89S51的RST腳的電壓,測(cè)試數(shù)據(jù)得出為0V。按下復(fù)位按鍵后進(jìn)行測(cè)試

22、,RST腳的電壓為0.8V。依據(jù)復(fù)位電路的原理,按鍵復(fù)位不正常,檢測(cè)元件是否有電源(+12V、+5V)與地(GND)是否有短路,在線(xiàn)路的檢查中沒(méi)有出現(xiàn)短路情況,將原理圖進(jìn)行分析,查看元件時(shí)候放置正確,結(jié)果檢查發(fā)現(xiàn)24C04芯片被接反,取下芯片再次測(cè)試,按下按鍵,RST腳為電壓為3.8V,依據(jù)單片機(jī)復(fù)位電路的原理,單片機(jī)以高電平復(fù)位。得出按鍵復(fù)位正常工作。8.1.3 顯示模塊: 說(shuō)明:我們所使用的是共陽(yáng)極四位八段數(shù)碼管,位接高電平(高電平是+3V以上,以數(shù)碼管的要求不能超過(guò)5V。)調(diào)試:首先用萬(wàn)用表測(cè)試數(shù)碼管是否是損壞,將萬(wàn)用表調(diào)至二極管測(cè)量檔位,將正表筆接位,接位1時(shí),負(fù)表筆接段選a.b.c.

23、d.e.f.dp段,查看數(shù)碼管是否顯示各個(gè)段,測(cè)試后,位1正常,然后分別接位2、位3、位4結(jié)果顯示全部正常,數(shù)碼管無(wú)損壞。結(jié)合主面板測(cè)試,寫(xiě)入一個(gè)測(cè)試程序,將AT89S51的P0、P2口置為低電平,接通電源后,查看數(shù)碼管顯示是否為滿(mǎn)格。得到預(yù)期的實(shí)驗(yàn)結(jié)果,數(shù)碼管顯示為滿(mǎn)格。#includesbit P0=a ;sbit P2=b;main()a=0;b=0;8.1.4 按鍵和指示燈模塊:說(shuō)明:當(dāng)接上單片機(jī)時(shí),若單片機(jī)的引腳沒(méi)有定義,其默認(rèn)就為高電平。當(dāng)指示燈引腳為低電平時(shí)指示燈亮。調(diào)試:首先檢查按鍵是否正常,沒(méi)按下時(shí)為斷開(kāi),按下按鍵則導(dǎo)通,測(cè)試結(jié)果,沒(méi)按下時(shí)其為閉合,經(jīng)過(guò)檢測(cè),發(fā)現(xiàn)電路板在敷銅

24、時(shí)將兩個(gè)腳接到了一起,解決方法,用刀片將外圍的銅全部刮掉,將方案交給PCB制作人,進(jìn)行修改PCB。結(jié)合主面板進(jìn)行測(cè)試按鍵,放入一個(gè)單片機(jī),不寫(xiě)入任何程序,按鍵的引腳默認(rèn)為高電平,接入電源,用萬(wàn)用表測(cè)試引腳,結(jié)果為高電平,當(dāng)按下按鍵則為低電平,用萬(wàn)用表進(jìn)行測(cè)試是否為低電平,測(cè)試結(jié)果為低電平。測(cè)試指示燈時(shí),寫(xiě)入一個(gè)程序:將AT89S51的P1.3P1.5腳置為低電平,接通電源后,查看指示燈是否亮。得到預(yù)期的實(shí)驗(yàn)結(jié)果,指示燈亮。#includesbit P13=a;sbit P14=b;sbit P15=c;main()a=0;b=0;c=0;8.1.5 傳感器部件:說(shuō)明:我們使用的是鋼簧管,當(dāng)鋼簧

25、管受到磁場(chǎng)力時(shí)就會(huì)閉合,沒(méi)有磁場(chǎng)力時(shí)則會(huì)斷開(kāi),我們?cè)诖耸褂萌齻€(gè)鋼簧管作為傳感器部件,達(dá)到三個(gè)水位顯示效果。接出四根線(xiàn),三根單片機(jī)引腳線(xiàn),一根接地線(xiàn)。 調(diào)試:用磁芯去吸引鋼簧管,再用萬(wàn)用表測(cè)試鋼簧管是否閉合,測(cè)試結(jié)果,閉合。傳感器部件一切正常。 接入主面板進(jìn)行調(diào)試,放入一個(gè)沒(méi)有程序的單片機(jī),接上電源,用磁芯吸引鋼簧管,用萬(wàn)用表測(cè)試其相對(duì)應(yīng)的單片機(jī)腳是否為低電平。測(cè)試結(jié)果,沒(méi)當(dāng)吸引鋼簧管時(shí)其單片機(jī)相對(duì)應(yīng)的管腳為低電平。得出結(jié)論,此鋼簧管進(jìn)入面板調(diào)試一切正常。8.1.6 總結(jié)調(diào)試:組合全部面板:寫(xiě)入一個(gè)測(cè)試程序,查看數(shù)碼管顯示、指示燈的亮、滅,按鍵功能是否正常。接入電源,運(yùn)行該程序,查看其效果是否一

26、切正常,調(diào)試結(jié)果該組合部分全部正常,然后將所有有誤差的PCB修改好,腐蝕出電路板,焊接好元件,經(jīng)過(guò)全部組合后的調(diào)試方法進(jìn)行調(diào)試,其電路能夠順利的進(jìn)行工作。8.2 軟件調(diào)試:8.2.1 水位按鍵掃描程序的調(diào)試。將high_water_scan()等函數(shù)的輸出項(xiàng)如high_up_pulse,high_down_pulse直接聯(lián)系到P0 口觀測(cè)P0口輸出電壓是否正確。8.2.2 狀態(tài)掃描函數(shù)的調(diào)試。該函數(shù)輸出項(xiàng)都為外部輸出,可以直接從數(shù)碼管等外部器件知函數(shù)否正常。由觀測(cè)結(jié)果進(jìn)行調(diào)試。8.2.3 蜂鳴器報(bào)警函數(shù)的調(diào)試。蜂鳴器為4分之1秒響一次。時(shí)間周期 由計(jì)時(shí)器 0提供。由觀測(cè)結(jié)果進(jìn)行調(diào)試。8.2.4

27、 指示燈狀態(tài)函數(shù)的調(diào)試。在自動(dòng)運(yùn)行模式時(shí),由傳感器提信號(hào),低水位綠燈亮,中水位黃燈亮,高水位紅燈亮由觀測(cè)結(jié)果進(jìn)行調(diào)試。8.2.5 數(shù)碼管顯示函數(shù)的調(diào)試。在自動(dòng)運(yùn)行模式時(shí),數(shù)碼管顯示當(dāng)前加水時(shí)間,在查詢(xún)模式顯示歷史加水時(shí)間,在手動(dòng)模式時(shí)顯示-。由觀測(cè)結(jié)果進(jìn)行調(diào)試。8.2.6 24C04讀寫(xiě)操作函數(shù)的調(diào)試。在計(jì)時(shí)10次之后,進(jìn)入查詢(xún)模式,按下模式/功能進(jìn)行上翻/下翻。由觀測(cè)結(jié)果進(jìn)行調(diào)試。8.2.7 電機(jī)運(yùn)行監(jiān)控函數(shù)的調(diào)試。在所有的調(diào)試完成之后,進(jìn)入手動(dòng)模式,進(jìn)行啟動(dòng)/停止操作觀察繼電器是否工作。進(jìn)入自動(dòng)模式,移動(dòng)干簧管觀察繼電器是否與設(shè)計(jì)思路工作方式相同。 由上述步聚依次調(diào)試、改進(jìn)直至完成所有目標(biāo)

28、任務(wù)第九章 心得體會(huì)在一個(gè)多月的時(shí)間里我們終于完成了畢業(yè)設(shè)計(jì)智能水塔控制器。這段時(shí)間我們雖然相當(dāng)辛苦但收獲良多。許許多多的困難被我們克服,只因?yàn)槲覀兪且粋€(gè)優(yōu)良的團(tuán)隊(duì)有一個(gè)相當(dāng)負(fù)責(zé)相當(dāng)能干的指導(dǎo)老師,而在此期間學(xué)到的將使我受用終身。1、市場(chǎng)會(huì)因?yàn)楦?jìng)爭(zhēng)而使商品變得極為精練和符合供求關(guān)系。在當(dāng)初選擇畢業(yè)設(shè)計(jì)課題時(shí)我就瞄準(zhǔn)了水塔控制器這種看似簡(jiǎn)單的東西。在我國(guó)廣大農(nóng)村地區(qū)因?yàn)樯钏降奶岣咿r(nóng)民們?cè)僖膊幌霙](méi)天都去井里打水用了,他們非常希望擁有城里人一樣的自來(lái)水供水系統(tǒng)。于是由水井、潛水電泵、家用水塔、自動(dòng)水位控制器組成的自動(dòng)供水系統(tǒng)的市場(chǎng)前景變得相當(dāng)可觀,而該系統(tǒng)的核心自動(dòng)水位控制器又是其中最有利可圖的

29、部分。我想以我現(xiàn)在學(xué)到的知識(shí)自己設(shè)計(jì)一個(gè)應(yīng)該不是太難的事。當(dāng)我們四個(gè)志同道合的同學(xué)組合到一起時(shí)我們便開(kāi)始行動(dòng)了。為了牟利所做的設(shè)計(jì)首先要做的事便是市場(chǎng)調(diào)查。但出乎我們意料之外的是此時(shí)的市場(chǎng)上已經(jīng)充斥著各式各樣的水塔控制器了,最便宜的僅二十幾元。我們買(mǎi)回一個(gè)拆開(kāi)一看它簡(jiǎn)單得幾乎沒(méi)有任何電路,成本不超過(guò)十元,但它確有最基本的功能。簡(jiǎn)單一算便知它的利潤(rùn)超過(guò)100%,這使我們相當(dāng)受鼓舞,但它超低的成本是我們無(wú)法超越的。正在我們一籌莫展之際老師指給我們一條明路:別人做低端我們可以做高端啊。沒(méi)錯(cuò)我們學(xué)了這么多電子知識(shí)為什么不做個(gè)功能強(qiáng)大的水位控制器呢?而此時(shí)我們還沒(méi)看到市場(chǎng)上有超過(guò)100元的產(chǎn)品。2、元器

30、件的選擇就像做菜時(shí)的原料一樣,選得好你就成功了一大半。確定了目標(biāo)后就馬不停蹄的開(kāi)始設(shè)計(jì)工作。原始數(shù)據(jù)資料找齊了,元件的選擇是一個(gè)大難關(guān),必盡我們實(shí)際操作的經(jīng)驗(yàn)太少。雖然有老師的大力幫助但元件上的問(wèn)題還是在之后的時(shí)間里造成了一些相當(dāng)棘手的問(wèn)題幾乎讓我們推倒重來(lái)。3、程序的價(jià)值往往比硬件高。我們的作品是用單片機(jī)控制的,我自認(rèn)為程序方面我還有拿得出手的地方便主動(dòng)請(qǐng)纓承擔(dān)了下來(lái)。在編寫(xiě)過(guò)程中我了解到實(shí)際應(yīng)用中的程序和書(shū)上的習(xí)題根本是兩回事。書(shū)上的習(xí)題往往把所有的條件都告訴你了。而在實(shí)際中沒(méi)有人會(huì)告訴你將會(huì)發(fā)生什么但是所有的可能性你都得想到,要做到這點(diǎn)非常困難。生活經(jīng)驗(yàn)的不足和邏輯思維訓(xùn)練不夠使我編寫(xiě)出

31、來(lái)的程序漏洞百出。在無(wú)數(shù)次修改和老師的幫助下我終于在硬件完成調(diào)試之前編寫(xiě)出了調(diào)試用的軟件。這次程序的編寫(xiě)中我體會(huì)到硬件是比較死板的只要能夠運(yùn)行他就一定是好的,而軟件呢,它在沒(méi)有語(yǔ)法錯(cuò)誤的情況下都能運(yùn)行但卻不一定是好的甚至錯(cuò)得更厲害。而且軟件還可以在一定程度上禰補(bǔ)硬件的不足,而硬件卻很難反過(guò)來(lái)禰補(bǔ)軟件,所以軟件往往比硬件值錢(qián)。4、包裝也很重要 在前期市場(chǎng)調(diào)查時(shí)我們只買(mǎi)了一個(gè)樣品,后來(lái)我們又拿到了另一個(gè)價(jià)值35元包裝很好看,可等我們拆開(kāi)一看里面結(jié)構(gòu)幾乎是一樣的。可就偏偏貴了十幾元,這讓我從此很注重包裝。并且精心設(shè)計(jì)了我們作品的包裝,雖然并不是太好看但在思想上我已經(jīng)邁進(jìn)了一大步。第 十一 章 參 考

32、 文 獻(xiàn)單片機(jī)原理及控制技術(shù) 李全利模擬電子技術(shù) 戴士弘 C語(yǔ)言程序設(shè)計(jì)成奮華 路惠民 Keil Cx51 單片機(jī)高級(jí)語(yǔ)言編程與應(yīng)用 徐愛(ài)鈞 彭秀華 課堂筆記、上機(jī)、課堂作業(yè)及教材等。 網(wǎng)上資料、網(wǎng)上書(shū)庫(kù)內(nèi)的材料。第十二章 附 錄12.1 源程序#include #define LED_LIGHT 0#define LED_OUT 1#define SPEAK_ON 0#define SPEAK_OFF 1#define W_MOTOR_START 0#define W_MOTOR_STOP 1/*輸入輸出端口*/sbit high_water_s=P25; /上水位干璜管sbit mid_w

33、ater_s=P26; /中水位干璜管sbit lower_water_s=P27; /下水位干璜管sbit speak=P24; /蜂鳴器驅(qū)動(dòng)端口sbit led_red=P13; /紅色指示燈端口sbit led_yellow=P14; /黃色指示燈端口sbit led_green= P15; /綠色指示燈端口sbit maintain_key=P10; /維護(hù)開(kāi)關(guān)端口(第一個(gè)按鍵)bit flag_maintain=0;bit flag_maintain_stroken=0;sbit mode_key=P11; /模式鍵端口(第二個(gè)鍵)bit flag_mode=0;bit flag_m

34、ode_stroken;sbit function_key=P12; /功能鍵端口(第三個(gè)鍵)bit flag_function=0;bit flag_func_stroken=0;sbit w_motor=P37; /電機(jī)驅(qū)動(dòng)端口sfr data_seg_port=0x80; /數(shù)碼管段碼驅(qū)動(dòng)端口sfr data_wei_port=0xa0; /數(shù)碼管位碼驅(qū)動(dòng)端口/*狀態(tài)表示位*/bit high_up_pulse=0; /上水位上升沿bit high_down_pulse=0; /上水位下降沿bit mid_up_pulse=0; /中水位上升沿bit mid_down_pulse=0;

35、/中水位下降沿bit lower_up_pulse=0; /下水位上升沿bit lower_down_pulse=0; /下水位下降沿bit flag_start_t0=0; /定時(shí)器啟停標(biāo)示 bit flag_add_water=0; /加水標(biāo)志 0為用水狀態(tài)、1為加水狀態(tài)bit flag_motor_error=0; /電機(jī)出錯(cuò)或下水源缺水bit flag_erase_24c04 /24c04數(shù)據(jù)刪除標(biāo)志 /*基本處理數(shù)據(jù)*/char code seg10=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90; /定義數(shù)據(jù)段碼char code

36、 wei8=0x7f,0x0bf,0x0df,0x0ef,0x0f7,0x0fb,0x0fd,0x0fe; /P2.0為S1 定義數(shù)據(jù)位碼 /個(gè)位在wei7、高位在wei0 int count_50ms=0; /50ms計(jì)時(shí)變量char water_point_status=0; /水塔水位狀態(tài)標(biāo)示bit flag_250ms; /0.25ms閃爍標(biāo)志char display_data4; /數(shù)碼管顯示數(shù)據(jù)數(shù)組char add_water_count=0; /加水次數(shù)char find_water_count=0; /查閱加水次數(shù)char lower_add_water_time=0; /下層

37、加水時(shí)間分鐘char up_add_water_time=0; /上層加水時(shí)間分鐘char add_water_time_second; /加水時(shí)間秒鐘char add_water_time_minute; /加水時(shí)間分鐘char add_water_uptime=0; /加上層水時(shí)間char add_water_downtime=0; /加下層水時(shí)間char add_water_uptime_storage=0; /存儲(chǔ)加上層水時(shí)間char add_water_downtime_storage=0; /存儲(chǔ)加下層水時(shí)間char mod_status=0; /0為手動(dòng)啟停方式 1為手動(dòng)查閱上次

38、加水時(shí)間(通過(guò)功能鍵執(zhí)行) char ram_write_24c044; /24c04寫(xiě)數(shù)組char ram_read_24c044; /24c04讀數(shù)組 /*延時(shí)函數(shù)*/void delay(int n) int i; for(i=0;i2)mod_status=0; if(mod_status=0) if(flag_func_stroken) flag_func_stroken=0;flag_add_water=flag_add_waterif(flag_add_water) /手動(dòng)起動(dòng)電機(jī)start_counter_timer();elsestop_counter_timer(); /手

39、動(dòng)停止電機(jī) else if(mod_status=1) if(flag_func_stroken) flag_func_stroken=0;find_water_count-;if(find_water_count0)find_water_count=add_water_count; /修改查詢(xún)指針 else ; if(flag_erase_24c04=1)clr_24c04(); /刪除24c04中有效數(shù)據(jù) /ifelse /復(fù)位控制過(guò)程到正常監(jiān)控階段(非調(diào)整階段) flag_mode_stroken=0; mod_status=0;flag_func_stroken=0;flag_eras

40、e_24c04=0; /*狀態(tài)掃描函數(shù)*/bit flag_add_water=0; /加水標(biāo)志 0為用水狀態(tài)、1為加水狀態(tài)void status_scan(void)if(flag_add_water=0) /用水方式狀態(tài)掃描 if(high_down_pulse&high_water_s=1) /上位警戒水位water_point_status=1;high_down_pulse=0;else if(high_up_pulse&high_water_s=0) /上水位water_point_status=2;high_up_pulse=0; else if(mid_down_pulse&m

41、id_water_s=1) /中水位water_point_status=3;mid_down_pulse=0;elseif(mid_up_pulse&mid_water_s=0) /下水位water_point_status=4;mid_up_pulse=0;else if(lower_down_pulse&lower_water_s=1) /下位警告水位water_point_status=5;lower_down_pulse=0;else if(lower_up_pulse&lower_water_s=0) /水塔嚴(yán)重缺水狀態(tài)water_point_status=6;lower_up_p

42、ulse=0; start_counter_timer();/自動(dòng)啟動(dòng)電機(jī)elseif(high_up_pulse&high_water_s=1)water_point_status=0;high_up_pulse=0; else ; else /加水方式狀態(tài)掃描 if(lower_down_pulse&lower_water_s=0)water_point_status=7;lower_down_pulse=0;else if(lower_up_pulse&lower_water_s=1)water_point_status=8;lower_up_pulse=0;else if(mid_do

43、wn_pulse&mid_water_s=0)water_point_status=9;mid_down_pulse=0;else if(mid_up_status&mid_water_s=1)water_point_status=10;mid_up_pulse=0;else if(high_down_pulse&high_water_s=0)water_point_status=11;high_down_pulse=0;else if(high_up_pulse&high_water_s=1)water_point_status=12;high_up_pulse=0;stop_counter_timer();/自動(dòng)停止電機(jī)else ; /*蜂鳴器報(bào)警函數(shù)*/void warn_speak(void)if(flag_250ms)speak=SPEAK_ON;elsespe

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論