工程樓宇供水系統(tǒng)設(shè)計_第1頁
工程樓宇供水系統(tǒng)設(shè)計_第2頁
工程樓宇供水系統(tǒng)設(shè)計_第3頁
工程樓宇供水系統(tǒng)設(shè)計_第4頁
工程樓宇供水系統(tǒng)設(shè)計_第5頁
已閱讀5頁,還剩78頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

產(chǎn)品特點:OLED為自發(fā)光材料,不需要用到背光板,同時視角廣、畫質(zhì)均勻、反應(yīng)速度快、較易彩色化、用簡單驅(qū)動電路即可達到發(fā)光、制程簡單、可制作成撓曲式面板,符合輕薄短小的原則,應(yīng)用范圍屬于中小尺寸面板。適應(yīng)性廣:采用玻璃襯底可實現(xiàn)大面積平板顯示;如用柔性材料做襯底,能制成可折疊的顯示器。由于OLED是全固態(tài)、非真空器件,具有抗震蕩、耐低溫(-40℃)等特性;在軍事方面也有十分重要的應(yīng)用,如用作坦克、飛機等現(xiàn)代化武器的顯示終端。其原理圖如圖3-5所示圖3-5OLED原理圖3.2.5繼電器模塊設(shè)計簡介:繼電器是一種電控制器件,當(dāng)輸入量(激勵量)的變化達到規(guī)定要求時,在電氣輸出電路中使被控量發(fā)生預(yù)定的階躍變化的一種電器。它具有控制系統(tǒng)(又稱輸入回路)和被控制系統(tǒng)(又稱輸出回路)之間的互動關(guān)系。通常應(yīng)用于自動化的控制電路中,它實際上是用小電流去控制大電流運作的一種“自動開關(guān)”。故在電路中起著自動調(diào)節(jié)、安全保護、轉(zhuǎn)換電路等作用。主要作用:繼電器是具有隔離功能的自動開關(guān)元件,廣泛應(yīng)用于遙控、遙測、通訊、自動控制、機電一體化及電力電子設(shè)備中,是最重要的控制元件之一。繼電器一般都有能反映一定輸入變量(如電流、電壓、功率、阻抗、頻率、溫度、壓力、速度、光等)的感應(yīng)機構(gòu)(輸入部分);有能對被控電路實現(xiàn)“通”、“斷”控制的執(zhí)行機構(gòu)(輸出部分);在繼電器的輸入部分和輸出部分之間,還有對輸入量進行耦合隔離,功能處理和對輸出部分進行驅(qū)動的中間機構(gòu)(驅(qū)動部分)。繼電器作為一種控制元件,具有以下幾種作用:擴大控制范圍:多觸點繼電器可以通過不同形式的觸點組,同時換接、開斷、接通多路電路,從而擴大控制范圍。放大:靈敏型繼電器、中間繼電器等可以用一個微小的控制量,控制很大功率的電路,從而實現(xiàn)放大的作用。綜合信號:多繞組繼電器可以通過比較綜合多個控制信號,達到預(yù)定的控制效果。自動、遙控、監(jiān)測:繼電器可以與其他電器一起組成程序控制線路,從而實現(xiàn)自動化運行,例如在自動裝置中使用繼電器可以實現(xiàn)自動、遙控、監(jiān)測等功能。圖3-6繼電器原理圖3.2.6蜂鳴器設(shè)計簡介:蜂鳴器(英文Buzzer)是一種在電路中常用到的電子元器件,它是由一個電磁鐵、一個線圈、一根導(dǎo)線和一個蜂鳴器組成的。它具有結(jié)構(gòu)簡單、性能可靠、容易操作、價格低廉等優(yōu)點,廣泛應(yīng)用于家電產(chǎn)品和自動控制系統(tǒng)中。蜂鳴器主要有兩種類型:一種是由電樞線圈直接通電而產(chǎn)生振動,另一種是通過電源的電壓或電流的變化來產(chǎn)生振動。當(dāng)電路接通電源時,電樞線圈就會產(chǎn)生一個脈沖信號,當(dāng)這個脈沖信號經(jīng)過與線圈相連的電子開關(guān)時,就會產(chǎn)生一聲的鳴叫,蜂鳴器就會發(fā)出響聲。在蜂鳴器中,電路中的電源是直流電,而電子開關(guān)是與電壓或電流成正比關(guān)系的,所以蜂鳴器也叫電位器。發(fā)聲原理:蜂鳴器的發(fā)聲原理由振動裝置和諧振裝置組成,工作原理是,當(dāng)有脈沖信號進入電路時,電源的電壓就會隨之發(fā)生變化,通過線圈與蜂鳴器的金屬觸點相接觸,產(chǎn)生一種機械振動,使蜂鳴器發(fā)聲。因此,蜂鳴器中有一個電位器,它把直流電電壓進行了放大處理。而蜂鳴器又分為無源他激型與有源自激型。無源他激型蜂鳴器的工作發(fā)聲原理是:方波信號輸入諧振裝置轉(zhuǎn)換為聲音信號輸出。有源自激型蜂鳴器的工作發(fā)聲原理是:直流電源輸入經(jīng)過振蕩系統(tǒng)的放大取樣電路在諧振裝置作用下產(chǎn)生聲音信號。3.2.7zigbee_CC2530模塊設(shè)計簡介:ZigBee是一種新興的無線網(wǎng)絡(luò)通信技術(shù),適用于傳輸范圍短數(shù)據(jù)傳輸速率低的一系列電子元器件設(shè)備之間,其工作頻段為915MHz~928MHz。優(yōu)點:(1)ZigBee技術(shù)是一種近距離、低功耗、低數(shù)據(jù)速率的無線通信技術(shù)。在同等條件下,傳輸距離可達10~lOOm,適合于家庭自動化、遠程監(jiān)測和控制等應(yīng)用。(2)ZigBee技術(shù)支持星型、網(wǎng)狀兩種拓?fù)浣Y(jié)構(gòu),可實現(xiàn)網(wǎng)絡(luò)的自組織和多跳。(3)ZigBee具有超低功耗特性,可采用電池供電。在加入一個新網(wǎng)絡(luò)后,數(shù)據(jù)傳輸時間為10~15ms,適用于對功耗要求嚴(yán)格的應(yīng)用。(4)ZigBee網(wǎng)絡(luò)由主設(shè)備(Master)、從設(shè)備(Slave)和協(xié)調(diào)器(Coordinator)三層組成。特點:(1)支持多跳路由,可快速增加設(shè)備數(shù);·(2)支持自動的網(wǎng)絡(luò)重組,保證網(wǎng)絡(luò)的連通;·(3)具有較低的功耗,可延長電池壽命;·(4)傳輸速率低,適合低速數(shù)據(jù)通信;·(5)網(wǎng)絡(luò)容量小,適合少量設(shè)備間的通信;·(6)具有多種工作模式,可以滿足不同應(yīng)用的需要。ZigBee技術(shù)對傳輸距離沒有特殊要求,因此其應(yīng)用范圍很廣。從普通家用電器到智能家電,從家用電器到工業(yè)控制設(shè)備,從家庭自動化到傳感器網(wǎng)絡(luò)、智能樓宇等各個領(lǐng)域都有其應(yīng)用。ZigBee技術(shù)具有傳輸距離遠、低功耗、低成本、安全性高、抗干擾性強、網(wǎng)絡(luò)容量大等優(yōu)點。圖3-7zigbee原理圖3.3本章小結(jié)基于STM32單片機的高樓供水系統(tǒng)分析,基于現(xiàn)有的技術(shù)和經(jīng)濟條件系統(tǒng)功能均可實現(xiàn);將整個系統(tǒng)劃分為兩個功能模塊進行分析,使得對系統(tǒng)的分析能夠細致入微,同時也有利于后續(xù)工作的進行。

第4章軟件系統(tǒng)設(shè)計功能模塊系統(tǒng)功能的設(shè)計是滿足需求設(shè)計的,如果能告訴所有處理特別程序需要的設(shè)備,如果該系統(tǒng)對投入、產(chǎn)出和模塊作了準(zhǔn)確的描述,就能使程序更有效地避免該系統(tǒng)的應(yīng)用階段。完成本系統(tǒng)設(shè)計的關(guān)鍵所在是完成軟件設(shè)計。4.1軟件主流程圖主程序首先對單片機進行初始化,使得相應(yīng)的IO口以及中斷寄存器置位,以滿足接下來的操作。開始初始化水壓測量水流量測量水位測量 正常 水壓箱 低 高水泵補水抽水放壓 報警上傳數(shù)據(jù)到 OLED 結(jié)束 圖4-1系統(tǒng)軟件主流程圖4.2水壓傳感器的軟件系統(tǒng)設(shè)計水壓傳感器的軟件設(shè)計一般包括以下幾個方面:采集數(shù)據(jù):通過水壓傳感器采集水壓信號,并轉(zhuǎn)換為數(shù)字信號。數(shù)據(jù)處理:對采集到的數(shù)字信號進行處理,例如濾波、校準(zhǔn)等,以提高傳感器的精度和穩(wěn)定性。數(shù)據(jù)顯示:將處理后的數(shù)據(jù)顯示在液晶屏上,以便用戶觀察和分析。數(shù)據(jù)傳輸:將處理后的數(shù)據(jù)通過串口、藍牙等方式傳輸給上位機或其他設(shè)備進行進一步處理和分析。報警處理:如果水壓超過設(shè)定閾值,需要進行報警處理,例如通過蜂鳴器發(fā)出聲音或者通過LED燈亮起的方式提醒用戶。系統(tǒng)控制:水壓傳感器的軟件還需要實現(xiàn)系統(tǒng)控制,例如設(shè)置采集頻率、報警閾值、傳輸方式等參數(shù),以滿足不同的應(yīng)用需求。在具體的軟件設(shè)計中,需要根據(jù)實際應(yīng)用場景和需求來確定采集方式、處理算法、顯示界面、傳輸協(xié)議等細節(jié)問題。同時,為了確保軟件的穩(wěn)定性和可靠性,需要進行充分的測試和驗證,以確保軟件能夠滿足設(shè)計要求并穩(wěn)定運行。4.3水流量傳感器的軟件系統(tǒng)設(shè)計水流量傳感器的軟件設(shè)計需要進行以下幾個步驟:確定傳感器的型號和輸出信號類型。水流量傳感器通常有模擬輸出和數(shù)字輸出兩種類型,需要根據(jù)實際需求進行選擇。確定微控制器的型號和開發(fā)環(huán)境。根據(jù)傳感器的型號和輸出信號類型,選擇相應(yīng)的微控制器和開發(fā)環(huán)境,例如,可以選擇STM32系列的微控制器,并使用Keil或者IAR等開發(fā)環(huán)境進行編程。進行傳感器的接口設(shè)計。根據(jù)傳感器的輸出信號類型,設(shè)計相應(yīng)的接口電路,例如:如果是模擬輸出,則需要進行模擬信號放大和濾波等處理;如果是數(shù)字輸出,則需要進行數(shù)字信號解碼和處理等。編寫傳感器數(shù)據(jù)采集程序。在微控制器中編寫數(shù)據(jù)采集程序,獲取傳感器輸出的模擬或數(shù)字信號,并進行相應(yīng)的處理。例如,進行單位轉(zhuǎn)換、濾波、平均處理等。設(shè)計用戶界面和通信協(xié)議。根據(jù)實際需求,設(shè)計用戶界面和通信協(xié)議,例如:可以使用LCD顯示水流量數(shù)據(jù),并通過UART或者WiFi等通信方式將數(shù)據(jù)傳輸給上位機。進行系統(tǒng)測試和調(diào)試。在硬件連接和軟件編寫完成后,進行系統(tǒng)測試和調(diào)試,確保系統(tǒng)的穩(wěn)定性和準(zhǔn)確性??傊?,水流量傳感器的軟件設(shè)計需要綜合考慮傳感器型號、微控制器型號、接口電路設(shè)計、數(shù)據(jù)采集程序編寫、用戶界面和通信協(xié)議設(shè)計等多個方面,進行全面而有效的設(shè)計。4.4超聲波測距的軟件系統(tǒng)設(shè)計超聲波傳感器的軟件設(shè)計通常分為以下幾個步驟:初始化:設(shè)置超聲波傳感器的觸發(fā)引腳和接收引腳,并且初始化定時器。定時器用于計算超聲波的回聲時間,從而得出距離。觸發(fā)測距:向超聲波傳感器的觸發(fā)引腳發(fā)送一個至少10us的高電平脈沖。這個脈沖觸發(fā)了傳感器,使其發(fā)送一個超聲波脈沖。接收回聲:當(dāng)超聲波脈沖遇到物體并反彈回來時,傳感器的接收引腳會輸出一個高電平信號。此時啟動定時器開始計時,直到接收到回聲的高電平信號消失為止,記錄下定時器的值。計算距離:根據(jù)回聲時間計算距離?;芈晻r間可以轉(zhuǎn)換為超聲波往返的時間,距離等于時間乘以聲速的一半(距離=時間×聲速/2)。循環(huán)測距:不斷重復(fù)以上步驟,以實現(xiàn)周期性測距并更新距離值。需要注意的是,超聲波傳感器的工作距離和精度受到多種因素的影響,例如傳感器的特性、環(huán)境溫度、氣壓等。因此在實際應(yīng)用中需要進行校準(zhǔn),并結(jié)合其他傳感器數(shù)據(jù)進行綜合處理。其流程圖如圖4-2所示。 開始相關(guān)初始化(超 聲波、串口等) 定時器初始化 是 循環(huán)5次 距離求平均 否 TRIG置高20us 串口顯示1s延時 否 ECHO==0? 是 開啟定時器開始 計時 ECHO==1? 關(guān)閉定時器停 止計時 距離計算圖4-2超聲波測距流程圖4.5本章小結(jié)分析系統(tǒng)的各項功能,并對需要的功能模塊進行需求分析和設(shè)計流程化,可以確保系統(tǒng)的完整性,實現(xiàn)所有功能,并簡化后續(xù)的開發(fā)工作。第5章系統(tǒng)測試5.1系統(tǒng)實物圖圖5-1系統(tǒng)完整實物圖5.2測試目的系統(tǒng)測試的目的是驗證系統(tǒng)的正確性、穩(wěn)定性和可靠性,確保系統(tǒng)可以在預(yù)期的條件下達到設(shè)計的功能要求,符合用戶的需求和期望。具體而言,系統(tǒng)測試的目的包括:驗證系統(tǒng)是否符合需求:系統(tǒng)測試可以檢查系統(tǒng)是否滿足用戶的需求,是否實現(xiàn)了設(shè)計要求的功能。發(fā)現(xiàn)和修復(fù)系統(tǒng)缺陷:系統(tǒng)測試可以發(fā)現(xiàn)系統(tǒng)中的缺陷和錯誤,幫助開發(fā)人員及時修復(fù)和解決這些問題。提高系統(tǒng)質(zhì)量和穩(wěn)定性:通過系統(tǒng)測試,可以確保系統(tǒng)的穩(wěn)定性和質(zhì)量,減少系統(tǒng)出現(xiàn)故障的風(fēng)險,提高系統(tǒng)的可靠性。提升用戶滿意度:系統(tǒng)測試可以保證系統(tǒng)的正確性和穩(wěn)定性,滿足用戶的需求,提升用戶的滿意度。降低系統(tǒng)維護成本:通過測試可以發(fā)現(xiàn)和修復(fù)系統(tǒng)缺陷,降低后期維護成本,避免在生產(chǎn)環(huán)境中出現(xiàn)故障和停機的情況。5.3測試原則系統(tǒng)測試原則如下:1.全面性原則:系統(tǒng)測試應(yīng)覆蓋所有可能發(fā)生的情況和場景,以確保系統(tǒng)在不同環(huán)境和條件下的穩(wěn)定性和可靠性。2.獨立性原則:系統(tǒng)測試應(yīng)該與其他測試活動獨立進行,以確保測試結(jié)果的客觀性和準(zhǔn)確性。3.一致性原則:系統(tǒng)測試應(yīng)該遵循同一標(biāo)準(zhǔn)和規(guī)范,以確保測試結(jié)果的一致性和可比性。4.自動化原則:盡可能采用自動化測試工具和技術(shù),以提高測試效率和減少測試成本。5.反饋原則:系統(tǒng)測試應(yīng)該及時反饋測試結(jié)果和問題,以便開發(fā)人員及時修復(fù)問題和改進系統(tǒng)。6.風(fēng)險導(dǎo)向原則:系統(tǒng)測試應(yīng)該關(guān)注系統(tǒng)可能存在的風(fēng)險和問題,并采取相應(yīng)的測試策略和措施,以確保系統(tǒng)的穩(wěn)定性和可靠性。7.可重復(fù)性原則:系統(tǒng)測試應(yīng)該保證測試結(jié)果的可重復(fù)性和可驗證性,以確保系統(tǒng)的穩(wěn)定性和可靠性。8.透明度原則:系統(tǒng)測試應(yīng)該保持測試過程的透明度和公開性,以提高測試結(jié)果的可信度和可靠性。5.4水壓傳感功能測試水壓過低的測試結(jié)果如圖5-2所示。圖5-2水壓傳感測試5.5水流量傳感功能測試水流量過高的測試結(jié)果如圖5-3所示。圖5-3水流量測試5.6水流量傳感功能測試水位的測試結(jié)果如圖5-4所示圖5-4水位測試5.7本章小結(jié)在該章中,對系統(tǒng)的功能模塊進行測試,對其獲得的測試進行詳細的記錄,并且進行分析,可以使得系統(tǒng)具有正常運行的特性,在模塊控制中,通過正常的使用,可以符合要求,使得該系統(tǒng)通過測試。第6章總結(jié)與展望6.1總結(jié)高層樓宇供水系統(tǒng)是指為高層建筑提供安全、穩(wěn)定、高效的供水系統(tǒng),通常包括水箱、水泵、管道、閥門、水表、壓力控制器、自動化控制系統(tǒng)等組成部分。為了確保高層樓宇供水系統(tǒng)的正常運行,需要保證以下幾個方面:設(shè)計合理:高層樓宇供水系統(tǒng)的設(shè)計必須充分考慮水壓、水流量、管道布局、消防要求等因素,以確保水的供應(yīng)安全、穩(wěn)定和高效。設(shè)備可靠:高層樓宇供水系統(tǒng)所使用的設(shè)備,如水泵、管道、閥門等必須是質(zhì)量可靠、性能穩(wěn)定的優(yōu)質(zhì)設(shè)備,以保證其正常運行和使用壽命。安全穩(wěn)定:高層樓宇供水系統(tǒng)的安全穩(wěn)定性是至關(guān)重要的,必須嚴(yán)格遵守相關(guān)的安全標(biāo)準(zhǔn)和規(guī)范,并采取相應(yīng)的防護措施,如防火、防爆、防震等。自動化控制:高層樓宇供水系統(tǒng)的自動化控制是提高其運行效率和管理水平的重要手段??梢圆捎肞LC等自動化控制系統(tǒng),對水泵、水箱、壓力控制器等進行智能控制,提高供水系統(tǒng)的穩(wěn)定性和節(jié)能效率??傊邔訕怯罟┧到y(tǒng)的設(shè)計、設(shè)備選型、安全穩(wěn)定性和自動化控制都是非常重要的,只有各個方面都得到充分保障和實施,才能確保其正常運行和用戶的安全用水。6.2展望隨著科技的不斷進步和智能化技術(shù)的發(fā)展,未來高層樓宇供水系統(tǒng)將會面臨一些新的挑戰(zhàn)和機遇。以下是一些可能的展望:更高效的節(jié)能技術(shù):未來的高層樓宇供水系統(tǒng)將會更加注重節(jié)能。智能化控制系統(tǒng)將會自動地根據(jù)用水量和水壓等因素進行調(diào)整,以達到最佳的節(jié)能效果。更加安全和穩(wěn)定的供水系統(tǒng):未來的供水系統(tǒng)將會更加注重安全和穩(wěn)定性。這將包括更加嚴(yán)格的安全標(biāo)準(zhǔn)和更加精確的監(jiān)測系統(tǒng),以確保供水系統(tǒng)的運行安全和穩(wěn)定。更加智能化的控制系統(tǒng):隨著智能化技術(shù)的發(fā)展,未來的供水系統(tǒng)將會更加智能化。例如,采用人工智能技術(shù),可以根據(jù)歷史數(shù)據(jù)和預(yù)測模型,自動地預(yù)測未來的用水需求,并調(diào)整供水系統(tǒng)以滿足需求。更加環(huán)保的水處理技術(shù):未來的高層樓宇供水系統(tǒng)將會更加注重環(huán)保。例如,采用更加高效的水處理技術(shù),可以降低水的消耗和污染,從而實現(xiàn)更加環(huán)保的供水系統(tǒng)。更加便捷的使用體驗:未來的高層樓宇供水系統(tǒng)將會更加注重用戶體驗。例如,采用智能化技術(shù)和移動應(yīng)用程序,可以讓用戶通過手機等設(shè)備,輕松地控制和監(jiān)測供水系統(tǒng)的運行情況,提高使用體驗和便捷性。

參考文獻周陳焱.基于數(shù)據(jù)分析的校園供水系統(tǒng)漏損模型研究——以2020年高教社杯全國大學(xué)生數(shù)學(xué)建模競賽E題為例[J].武漢交通職業(yè)學(xué)院學(xué)報,2022,24(02):124-128.胡成玉,張克,全詩詩,劉洪銘.基于深度自編碼器的供水系統(tǒng)攻擊檢測研究[J].華中科技大學(xué)學(xué)報(自然科學(xué)版),2022,50(05):108-114.DOI:10.13245/j.hust.220519.陜永杰,魏紹康,原衛(wèi)利,苗圓.城市多源供水系統(tǒng)成本優(yōu)化方法分析[J].人民黃河,2022,44(03):59-62+73.呂星穎.某市城市供水管網(wǎng)優(yōu)化及服務(wù)水壓標(biāo)準(zhǔn)研究[D].西南交通大學(xué),2020.趙瀟然,汪力,李闊,王雙吉.供水系統(tǒng)水泵機組節(jié)能改造方法與工程實例[J].給水排水,2022,58(02):1-5+12.DOI:10.13789/ki.wwe1964.2021.08.25.0006.宋培兵.枯水情景考慮預(yù)報不確定性的原水供水系統(tǒng)調(diào)度風(fēng)險研究[D].浙江大學(xué),2021.DOI:10.27461/ki.gzjdx.2021.002929.張文彬,鄧亮,劉萍.基于S7-300PLC的變頻調(diào)速恒壓供水系統(tǒng)設(shè)計[J].上海電力大學(xué)學(xué)報,2020,36(06):535-540.池保忠.基于變頻器控制的自動恒壓供水系統(tǒng)設(shè)計[J].現(xiàn)代制造技術(shù)與裝備,2022(004):058.馮凱,常輝,魯銀中.基于免疫粒子群算法的水輪機機組供水系統(tǒng)節(jié)能控制方法[J].計算技術(shù)與自動化,2022(003):041.DOI:10.16339/ki.jsjsyzdh.202203010.王軒.并聯(lián)泵組變頻恒壓供水系統(tǒng)能效控制策略研究與實現(xiàn)[D].華中科技大學(xué),2019.DOI:10.27157/ki.ghzku.2019.001060.廖容,趙鵬,陳炳森,等.利用PLC的PID功能實現(xiàn)變頻恒壓供水的設(shè)計應(yīng)用[J].裝備制造技術(shù),2021(006):000.蔣培洪,歐陽遠波,劉武.基于加壓泵站恒壓自動供水的中控系統(tǒng)設(shè)計[J].機電工程技術(shù),2022,51(11):207-211.黃鐘森.一種無塔恒壓供水保護裝置系統(tǒng)設(shè)計[J].電子技術(shù),2022,51(08):196-197.陳遠企.智能變頻恒壓供水系統(tǒng)的應(yīng)用研究[J].機械管理開發(fā),2022,37(06):193-194.DOI:10.16525/14-1134/th.2022.06.081.李鋼,張敏.變頻恒壓供水控制系統(tǒng)的研究與設(shè)計[J].電子設(shè)計工程,2022,30(10):90-94.DOI:10.14022/j.issn1674-6236.2022.10.019.MichelAmandine,ArmbrusterDominic,BenzBirckAngelika,DeppermannNina,DoetzerReinhard,Fl?rsMarkus,FrericksMarkus,LiShanghua,GeblerSebastian,Schr?derTom,SeitzWolfram.Proposalforatieredapproachtoevaluatetheriskoftransformationproductsformedfrompesticideresiduesduringdrinkingwatertreatment[J].EnvironmentalSciencesEurope,2022,34(1).HuntJulianDavid,PokhrelYadu,ChaudhariSuyog,MesquitaAndréLuizAmarante,NascimentoAndreas,LealFilhoWalter,BiatoMarcelFortuna,SchneiderPauloSmith,LopesMaurícioAnt?nio.ChallengesandopportunitiesforaSouthAmericaWaterwaySystem[J].CleanerEngineeringandTechnology,2022,11.Strategicanalysisofthedroughtresilienceofwatersupplysystems[J].PhilosophicalTransactionsoftheRoyalSocietyA,2022,380(2238).WangHui,WanakuleNisai,AsefaTirusew,ErkyihunSolomon.ARisk-BasedFrameworktoEvaluateInfrastructureInvestmentOptionsforaWaterSupplySystem[J].JournalofEnvironmentalEngineering,2022,148(11).ZhangRunze,LeiTong,WangYunfeng,XuJiaxing,ZhangPanxin,HanYan,HuChanglu,YangXueyun,SadrasVictor,ZhangShulan.Corrigendumto“Responsesofyieldandwateruseefficiencytotheinteractionbetweenwatersupplyandplasticfilmmulchinwinterwheat-summerfallowsystem”[Agric.WaterManag.266(2022)107545][J].AgriculturalWaterManagement,2022,273.致謝本次的畢業(yè)設(shè)計是在老師的精心指導(dǎo)和同學(xué)的樂于幫助下完成的。在研究過程中,老師在學(xué)習(xí)方法、工作方法和研究思路等方面帶給了我許多啟迪,也在我的研究工作中提出了寶貴的建議和意見,使我的研究取得了新的進展。同時,在我遇到解決不了的問題和困難時給出專業(yè)性的辦法和思路。老師深厚的專業(yè)知識、嚴(yán)謹(jǐn)?shù)闹螌W(xué)精神和求實創(chuàng)新的工作作風(fēng)深深的影響著我。時光流逝,歲月如梭。四年的大學(xué)生活即將結(jié)束,在這四年里我學(xué)到了很多也經(jīng)歷了很多,這些都將是我以后生后中寶貴的財富。感謝同學(xué)在我生后中的幫助和關(guān)心,讓我能更好的投入到本次研究中。離別之際,愿我們都能擁有一個錦繡未來,在人生這場單程旅途中收獲更多美景。附錄A總原理圖圖A-1總原理圖

附錄B程序main.c#include"sys.h"#include"delay.h"#include"usart.h"#include"dht11.h"#include"hcsr04.h"#include"timer.h"#include"oled.h"#include"port.h"http://#include"esp8266.h"#include"adc.h"#include"app.h"http://#include"pm25.h"#include"usart2.h"#include"HX710A.h"#include"S201B.h"intmain(void){ delay_init(); //延時函數(shù)初始化 NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);//設(shè)置NVIC中斷分組2:2位搶占優(yōu)先級,2位響應(yīng)優(yōu)先級 USART1_Config(38400); //串口初始化為9600 sys_gpio_init(); key_init(10,500,1100,3000); adc_init(); DHT11_Init();// TIM3_PWM_Init();//舵機定時器初始化 hsr04_init(); Init_HX710pin(); TIM3_Int_Init(9999,7199);//1S計時99971 TIM2_Init(0xFFFF,0);//外部時鐘計數(shù)// USART2_Config(115200);// pm25_init(); OLED_Init(); //初始化OLED OLED_Clear(); while(1) { app(); }}stm32f10x_it.c/*********************************************************************************@fileGPIO/IOToggle/stm32f10x_it.c*@authorMCDApplicationTeam*@versionV3.5.0*@date08-April-2011*@briefMainInterruptServiceRoutines.*Thisfileprovidestemplateforallexceptionshandlerandperipherals*interruptserviceroutine.*******************************************************************************@attention**THEPRESENTFIRMWAREWHICHISFORGUIDANCEONLYAIMSATPROVIDINGCUSTOMERS*WITHCODINGINFORMATIONREGARDINGTHEIRPRODUCTSINORDERFORTHEMTOSAVE*TIME.ASARESULT,STMICROELECTRONICSSHALLNOTBEHELDLIABLEFORANY*DIRECT,INDIRECTORCONSEQUENTIALDAMAGESWITHRESPECTTOANYCLAIMSARISING*FROMTHECONTENTOFSUCHFIRMWAREAND/ORTHEUSEMADEBYCUSTOMERSOFTHE*CODINGINFORMATIONCONTAINEDHEREININCONNECTIONWITHTHEIRPRODUCTS.**<h2><center>©COPYRIGHT2011STMicroelectronics</center></h2>*******************************************************************************//*Includes*/#include"stm32f10x_it.h"voidNMI_Handler(void){}voidHardFault_Handler(void){/*GotoinfiniteloopwhenHardFaultexceptionoccurs*/while(1){}}voidMemManage_Handler(void){/*GotoinfiniteloopwhenMemoryManageexceptionoccurs*/while(1){}}voidBusFault_Handler(void){/*GotoinfiniteloopwhenBusFaultexceptionoccurs*/while(1){}}voidUsageFault_Handler(void){/*GotoinfiniteloopwhenUsageFaultexceptionoccurs*/while(1){}}voidSVC_Handler(void){}voidDebugMon_Handler(void){}voidPendSV_Handler(void){}voidSysTick_Handler(void){}/******************************************************************************//*STM32F10xPeripheralsInterruptHandlers*//*AddheretheInterruptHandlerfortheusedperipheral(s)(PPP),forthe*//*availableperipheralinterrupthandler'snamepleaserefertothestartup*//*file(startup_stm32f10x_xx.s).*//******************************************************************************/system_stm32f10x.c/*********************************************************************************@fileGPIO/IOToggle/system_stm32f10x.c*@authorMCDApplicationTeam*@versionV3.5.0*@date08-April-2011*@briefCMSISCortex-M3DevicePeripheralAccessLayerSystemSourceFile.**1.Thisfileprovidestwofunctionsandoneglobalvariabletobecalledfrom*userapplication:*-SystemInit():Setupsthesystemclock(Systemclocksource,PLLMultiplier*factors,AHB/APBxprescalersandFlashsettings).*Thisfunctioniscalledatstartupjustafterresetand*beforebranchtomainprogram.Thiscallismadeinside*the"startup_stm32f10x_xx.s"file.**-SystemCoreClockvariable:Containsthecoreclock(HCLK),itcanbeused*bytheuserapplicationtosetuptheSysTick*timerorconfigureotherparameters.**-SystemCoreClockUpdate():UpdatesthevariableSystemCoreClockandmust*becalledwheneverthecoreclockischanged*duringprogramexecution.**2.AftereachdeviceresettheHSI(8MHz)isusedassystemclocksource.*ThenSystemInit()functioniscalled,in"startup_stm32f10x_xx.s"file,to*configurethesystemclockbeforetobranchtomainprogram.**3.Ifthesystemclocksourceselectedbyuserfailstostartup,theSystemInit()*functionwilldonothingandHSIstillusedassystemclocksource.Usercan*addsomecodetodealwiththisissueinsidetheSetSysClock()function.**4.ThedefaultvalueofHSEcrystalissetto8MHz(or25MHz,depedningon*theproductused),referto"HSE_VALUE"definein"stm32f10x.h"file.*WhenHSEisusedassystemclocksource,directlyorthroughPLL,andyou*areusingdifferentcrystalyouhavetoadapttheHSEvaluetoyourown*configuration.********************************************************************************@attention**THEPRESENTFIRMWAREWHICHISFORGUIDANCEONLYAIMSATPROVIDINGCUSTOMERS*WITHCODINGINFORMATIONREGARDINGTHEIRPRODUCTSINORDERFORTHEMTOSAVE*TIME.ASARESULT,STMICROELECTRONICSSHALLNOTBEHELDLIABLEFORANY*DIRECT,INDIRECTORCONSEQUENTIALDAMAGESWITHRESPECTTOANYCLAIMSARISING*FROMTHECONTENTOFSUCHFIRMWAREAND/ORTHEUSEMADEBYCUSTOMERSOFTHE*CODINGINFORMATIONCONTAINEDHEREININCONNECTIONWITHTHEIRPRODUCTS.**<h2><center>©COPYRIGHT2011STMicroelectronics</center></h2>*******************************************************************************//**@addtogroupCMSIS*@{*//**@addtogroupstm32f10x_system*@{*//**@addtogroupSTM32F10x_System_Private_Includes*@{*/#include"stm32f10x.h"/***@}*//**@addtogroupSTM32F10x_System_Private_TypesDefinitions*@{*//***@}*//**@addtogroupSTM32F10x_System_Private_Defines*@{*//*!<UncommentthelinecorrespondingtothedesiredSystemclock(SYSCLK)frequency(afterresettheHSIisusedasSYSCLKsource)IMPORTANTNOTE:==============1.AftereachdeviceresettheHSIisusedasSystemclocksource.2.PleasemakesurethattheselectedSystemclockdoesn'texceedyourdevice'smaximumfrequency.3.Ifnoneofthedefinebelowisenabled,theHSIisusedasSystemclocksource.4.TheSystemclockconfigurationfunctionsprovidedwithinthisfileassumethat:-ForLow,MediumandHighdensityValuelinedevicesanexternal8MHzcrystalisusedtodrivetheSystemclock.-ForLow,MediumandHighdensitydevicesanexternal8MHzcrystalisusedtodrivetheSystemclock.-ForConnectivitylinedevicesanexternal25MHzcrystalisusedtodrivetheSystemclock.Ifyouareusingdifferentcrystalyouhavetoadaptthosefunctionsaccordingly.*/#ifdefined(STM32F10X_LD_VL)||(definedSTM32F10X_MD_VL)||(definedSTM32F10X_HD_VL)/*#defineSYSCLK_FREQ_HSEHSE_VALUE*/#defineSYSCLK_FREQ_24MHz24000000#else/*#defineSYSCLK_FREQ_HSEHSE_VALUE*//*#defineSYSCLK_FREQ_24MHz24000000*//*#defineSYSCLK_FREQ_36MHz36000000*//*#defineSYSCLK_FREQ_48MHz48000000*//*#defineSYSCLK_FREQ_56MHz56000000*/#defineSYSCLK_FREQ_72MHz72000000#endif/*!<UncommentthefollowinglineifyouneedtouseexternalSRAMmountedonSTM3210E-EVALboard(STM32HighdensityandXL-densitydevices)oronSTM32100E-EVALboard(STM32High-densityvaluelinedevices)asdatamemory*/#ifdefined(STM32F10X_HD)||(definedSTM32F10X_XL)||(definedSTM32F10X_HD_VL)/*#defineDATA_IN_ExtSRAM*/#endif/*!<UncommentthefollowinglineifyouneedtorelocateyourvectorTableinInternalSRAM.*//*#defineVECT_TAB_SRAM*/#defineVECT_TAB_OFFSET0x0/*!<VectorTablebaseoffsetfield.Thisvaluemustbeamultipleof0x200.*//***@}*//**@addtogroupSTM32F10x_System_Private_Macros*@{*//***@}*//**@addtogroupSTM32F10x_System_Private_Variables*@{*//********************************************************************************ClockDefinitions*******************************************************************************/#ifdefSYSCLK_FREQ_HSEuint32_tSystemCoreClock=SYSCLK_FREQ_HSE;/*!<SystemClockFrequency(CoreClock)*/#elifdefinedSYSCLK_FREQ_24MHzuint32_tSystemCoreClock=SYSCLK_FREQ_24MHz;/*!<SystemClockFrequency(CoreClock)*/#elifdefinedSYSCLK_FREQ_36MHzuint32_tSystemCoreClock=SYSCLK_FREQ_36MHz;/*!<SystemClockFrequency(CoreClock)*/#elifdefinedSYSCLK_FREQ_48MHzuint32_tSystemCoreClock=SYSCLK_FREQ_48MHz;/*!<SystemClockFrequency(CoreClock)*/#elifdefinedSYSCLK_FREQ_56MHzuint32_tSystemCoreClock=SYSCLK_FREQ_56MHz;/*!<SystemClockFrequency(CoreClock)*/#elifdefinedSYSCLK_FREQ_72MHzuint32_tSystemCoreClock=SYSCLK_FREQ_72MHz;/*!<SystemClockFrequency(CoreClock)*/#else/*!<HSISelectedasSystemClocksource*/uint32_tSystemCoreClock=HSI_VALUE;/*!<SystemClockFrequency(CoreClock)*/#endif__Iuint8_tAHBPrescTable[16]={0,0,0,0,0,0,0,0,1,2,3,4,6,7,8,9};/***@}*//**@addtogroupSTM32F10x_System_Private_FunctionPrototypes*@{*/staticvoidSetSysClock(void);#ifdefSYSCLK_FREQ_HSEstaticvoidSetSysClockToHSE(void);#elifdefinedSYSCLK_FREQ_24MHzstaticvoidSetSysClockTo24(void);#elifdefinedSYSCLK_FREQ_36MHzstaticvoidSetSysClockTo36(void);#elifdefinedSYSCLK_FREQ_48MHzstaticvoidSetSysClockTo48(void);#elifdefinedSYSCLK_FREQ_56MHzstaticvoidSetSysClockTo56(void);#elifdefinedSYSCLK_FREQ_72MHzstaticvoidSetSysClockTo72(void);#endif#ifdefDATA_IN_ExtSRAMstaticvoidSystemInit_ExtMemCtl(void);#endif/*DATA_IN_ExtSRAM*//***@}*//**@addtogroupSTM32F10x_System_Private_Functions*@{*//***@briefSetupthemicrocontrollersystem*InitializetheEmbeddedFlashInterface,thePLLandupdatethe*SystemCoreClockvariable.*@noteThisfunctionshouldbeusedonlyafterreset.*@paramNone*@retvalNone*/voidSystemInit(void){/*ResettheRCCclockconfigurationtothedefaultresetstate(fordebugpurpose)*//*SetHSIONbit*/RCC->CR|=(uint32_t)0x00000001;/*ResetSW,HPRE,PPRE1,PPRE2,ADCPREandMCObits*/#ifndefSTM32F10X_CLRCC->CFGR&=(uint32_t)0xF8FF0000;#elseRCC->CFGR&=(uint32_t)0xF0FF0000;#endif/*STM32F10X_CL*//*ResetHSEON,CSSONandPLLONbits*/RCC->CR&=(uint32_t)0xFEF6FFFF;/*ResetHSEBYPbit*/RCC->CR&=(uint32_t)0xFFFBFFFF;/*ResetPLLSRC,PLLXTPRE,PLLMULandUSBPRE/OTGFSPREbits*/RCC->CFGR&=(uint32_t)0xFF80FFFF;#ifdefSTM32F10X_CL/*ResetPLL2ONandPLL3ONbits*/RCC->CR&=(uint32_t)0xEBFFFFFF;/*Disableallinterruptsandclearpendingbits*/RCC->CIR=0x00FF0000;/*ResetCFGR2register*/RCC->CFGR2=0x00000000;#elifdefined(STM32F10X_LD_VL)||defined(STM32F10X_MD_VL)||(definedSTM32F10X_HD_VL)/*Disableallinterruptsandclearpendingbits*/RCC->CIR=0x009F0000;/*ResetCFGR2register*/RCC->CFGR2=0x00000000;#else/*Disableallinterruptsandclearpendingbits*/RCC->CIR=0x009F0000;#endif/*STM32F10X_CL*/#ifdefined(STM32F10X_HD)||(definedSTM32F10X_XL)||(definedSTM32F10X_HD_VL)#ifdefDATA_IN_ExtSRAMSystemInit_ExtMemCtl();#endif/*DATA_IN_ExtSRAM*/#endif/*ConfiguretheSystemclockfrequency,HCLK,PCLK2andPCLK1prescalers*//*ConfiguretheFlashLatencycyclesandenableprefetchbuffer*/SetSysClock();#ifdefVECT_TAB_SRAMSCB->VTOR=SRAM_BASE|VECT_TAB_OFFSET;/*VectorTableRelocationinInternalSRAM.*/#elseSCB->VTOR=FLASH_BASE|VECT_TAB_OFFSET;/*VectorTableRelocationinInternalFLASH.*/#endif}/***@briefUpdateSystemCoreClockvariableaccordingtoClockRegisterValues.*TheSystemCoreClockvariablecontainsthecoreclock(HCLK),itcan*beusedbytheuserapplicationtosetuptheSysTicktimerorconfigure*otherparameters.**@noteEachtimethecoreclock(HCLK)changes,thisfunctionmustbecalled*toupdateSystemCoreClockvariablevalue.Otherwise,anyconfiguration*basedonthisvariablewillbeincorrect.**@note-Thesystemfrequencycomputedbythisfunctionisnotthereal*frequencyinthechip.Itiscalculatedbasedonthepredefined*constantandtheselectedclocksource:**-IfSYSCLKsourceisHSI,SystemCoreClockwillcontaintheHSI_VALUE(*)**-IfSYSCLKsourceisHSE,SystemCoreClockwillcontaintheHSE_VALUE(**)**-IfSYSCLKsourceisPLL,SystemCoreClockwillcontaintheHSE_VALUE(**)*orHSI_VALUE(*)multipliedbythePLLfactors.**(*)HSI_VALUEisaconstantdefinedinstm32f1xx.hfile(defaultvalue*8MHz)buttherealvaluemayvarydependingonthevariations*involtageandtemperature.**(**)HSE_VALUEisaconstantdefinedinstm32f1xx.hfile(defaultvalue*8MHzor25MHz,depedningontheproductused),userhastoensure*thatHSE_VALUEissameastherealfrequencyofthecrystalused.*Otherwise,thisfunctionmayhavewrongresult.**-Theresultofthisfunctioncouldbenotcorrectwhenusingfractional*valueforHSEcrystal.*@paramNone*@retvalNone*/voidSystemCoreClockUpdate(void){uint32_ttmp=0,pllmull=0,pllsource=0;#ifdefSTM32F10X_CLuint32_tprediv1source=0,prediv1factor=0,prediv2factor=0,pll2mull=0;#endif/*STM32F10X_CL*/#ifdefined(STM32F10X_LD_VL)||defined(STM32F10X_MD_VL)||(definedSTM32F10X_HD_VL)uint32_tprediv1factor=0;#endif/*STM32F10X_LD_VLorSTM32F10X_MD_VLorSTM32F10X_HD_VL*//*GetSYSCLKsource*/tmp=RCC->CFGR&RCC_CFGR_SWS;switch(tmp){case0x00:/*HSIusedassystemclock*/SystemCoreClock=HSI_VALUE;break;case0x04:/*HSEusedassystemclock*/SystemCoreClock=HSE_VALUE;break;case0x08:/*PLLusedassystemclock*//*GetPLLclocksourceandmultiplicationfactor*/pllmull=RCC->CFGR&RCC_CFGR_PLLMULL;pllsource=RCC->CFGR&RCC_CFGR_PLLSRC;#ifndefSTM32F10X_CLpllmull=(pllmull>>18)+2;if(pllsource==0x00){/*HSIoscillatorclockdividedby2selectedasPLLclockentry*/SystemCoreClock=(HSI_VALUE>>1)*pllmull;}else{#ifdefined(STM32F10X_LD_VL)||defined(STM32F10X_MD_VL)||(definedSTM32F10X_HD_VL)prediv1factor=(RCC->CFGR2&RCC_CFGR2_PREDIV1)+1;/*HSEoscillatorclockselectedasPREDIV1clockentry*/SystemCoreClock=(HSE_VALUE/prediv1factor)*pllmull;#else/*HSEselectedasPLLclockentry*/if((RCC->CFGR&RCC_CFGR_PLLXTPRE)!=(uint32_t)RESET){/*HSEoscillatorclockdividedby2*/SystemCoreClock=(HSE_VALUE>>1)*pllmull;}else{SystemCoreClock=HSE_VALUE*pllmull;}#endif}#elsepllmull=pllmull>>18;if(pllmull!=0x0D){pllmull+=2;}else{/*PLLmultiplicationfactor=PLLinputclock*6.5*/pllmull=13/2;}if(pllsource==0x00){/*HSIoscillatorclockdividedby2selectedasPLLclockentry*/SystemCoreClock=(HSI_VALUE>>1)*pllmull;}else{/*PREDIV1selectedasPLLclockentry*//*GetPREDIV1clocksourceanddivisionfactor*/prediv1source=RCC->CFGR2&RCC_CFGR2_PREDIV1SRC;prediv1factor=(RCC->CFGR2&RCC_CFGR2_PREDIV1)+1;if(prediv1source==0){/*HSEoscillatorclockselectedasPREDIV1clockentry*/SystemCoreClock=(HSE_VALUE/prediv1factor)*pllmull;}else{/*PLL2clockselectedasPREDIV1clockentry*//*GetPREDIV2divisionfactorandPLL2multiplicationfactor*/prediv2factor=((RCC->CFGR2&RCC_CFGR2_PREDIV2)>>4)+1;pll2mull=((RCC->CFGR2&RCC_CFGR2_PLL2MUL)>>8)+2;SystemCoreClock=(((HSE_VALUE/prediv2factor)*pll2mull)/prediv1factor)*pllmull;}}#endif/*STM32F10X_CL*/break;default:SystemCoreClock=HSI_VALUE;break;}/*ComputeHCLKclockfrequency*//*GetHCLKprescaler*/tmp=AHBPrescTable[((RCC->CFGR&RCC_CFGR_HPRE)>>4)];/*HCLKclockfrequency*/SystemCoreClock>>=tmp;}/***@briefConfigurestheSystemclockfrequency,HCLK,PCLK2andPCLK1prescalers.*@paramNone*@retvalNone*/staticvoidSetSysClock(void){#ifdefSYSCLK_FREQ_HSESetSysClockToHSE();#elifdefinedSYSCLK_FREQ_24MHzSetSysClockTo24();#elifdefinedSYSCLK_FREQ_36MHzSetSysClockTo36();#elifdefinedSYSCLK_FREQ_48MHzSetSysClockTo48();#elifdefinedSYSCLK_FREQ_56MHzSetSysClockTo56();#elifdefinedSYSCLK_FREQ_72MHzSetSysClockTo72();#endif/*Ifnoneofthedefineaboveisenabled,theHSIisusedasSystemclocksource(defaultafterreset)*/}/***@briefSetuptheexternalmemorycontroller.Calledinstartup_stm32f10x.s*beforejumpto__main*@paramNone*@retvalNone*/#ifdefDATA_IN_ExtSRAM/***@briefSetuptheexternalmemorycontroller.*Calledinstartup_stm32f10x_xx.s/.cbeforejumptomain.* ThisfunctionconfigurestheexternalSRAMmountedonSTM3210E-EVAL*board(STM32Highdensitydevices).ThisSRAMwillbeusedasprogram*datamemory(includingheapandstack).*@paramNone*@retvalNone*/voidSystemInit_ExtMemCtl(void){/*!<FSMCBank1NOR/SRAM3isused

溫馨提示

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

評論

0/150

提交評論