基于STM32的植物灌溉系統(tǒng)的設(shè)計與實現(xiàn)_第1頁
基于STM32的植物灌溉系統(tǒng)的設(shè)計與實現(xiàn)_第2頁
基于STM32的植物灌溉系統(tǒng)的設(shè)計與實現(xiàn)_第3頁
基于STM32的植物灌溉系統(tǒng)的設(shè)計與實現(xiàn)_第4頁
基于STM32的植物灌溉系統(tǒng)的設(shè)計與實現(xiàn)_第5頁
已閱讀5頁,還剩36頁未讀 繼續(xù)免費閱讀

付費下載

下載本文檔

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

文檔簡介

本科畢業(yè)設(shè)計(論文)中文摘要當(dāng)前市場和家庭普遍存在對植物灌溉和補光的需求。由于環(huán)境中的溫度、濕度和光照差異會直接影響植物的生長,因此,提出了一個基于土壤溫濕度監(jiān)測的智能補光灌溉系統(tǒng)設(shè)計方案。該系統(tǒng)利用STM32F103C8T6單片機實現(xiàn)智能自動化控制,以優(yōu)化植物的生長條件。主要研究的是如何實現(xiàn)土壤溫濕度、光照強度采集和顯示,并根據(jù)當(dāng)前的環(huán)境進行判斷,適時的對植物生長環(huán)境參數(shù)進行調(diào)控。智能灌溉系統(tǒng)控制模塊主要包括單片機控制、手動自動轉(zhuǎn)換控制、土壤溫濕度采集顯示、水泵自動開關(guān)、光照強度采集顯示及光照補償功能、WIFI無線傳輸控制、蜂鳴器報警等功能。此外系統(tǒng)還設(shè)計實現(xiàn)了手動和自動模式切換。在自動模式下,通過按鍵設(shè)定濕度下限、溫度上限,光照下限,通過傳感器采集當(dāng)前環(huán)境數(shù)據(jù)并自動控制灌溉,來實現(xiàn)降溫增濕,光照補償模塊根據(jù)光照強度實現(xiàn)光補償。WIFI無線傳輸模塊實現(xiàn)各功能的遠(yuǎn)程控制。通過長期的運行結(jié)果測試,表明該自動控制系統(tǒng)可以可靠穩(wěn)定地運行、而且操作方便簡單、具備多種便捷工作運行模式。同時該系統(tǒng)智能高效、結(jié)構(gòu)精準(zhǔn)、運行穩(wěn)定、節(jié)能可靠,可以實現(xiàn)規(guī)?;a(chǎn),能廣泛用于家庭、室外和大棚等場所。關(guān)鍵詞智能灌溉單片機STM32F103C8T6土壤溫濕度WIFI無線傳輸本科畢業(yè)設(shè)計(論文)外文摘要TitleDesignandImplementationofaPlantIrrigationSystemBasedonSTM32AbstractThemarketandhomescommonlyrequireplantirrigationandlightsupplementationduetothedirectimpactofenvironmentaltemperature,humidity,andlightdifferencesonplantgrowth.Therefore,asmartlightsupplementirrigationsystemdesignbasedonsoiltemperatureandhumiditymonitoringhasbeenproposed.ThissystemusestheSTM32F103C8T6microcontrollerforintelligentautomationtooptimizeplantgrowthconditions.Theresearchfocusesoncollectinganddisplayingsoiltemperatureandhumidity,aswellaslightintensity,andadjustingtheseparametersbasedonthecurrentenvironment.Theintelligentirrigationsystem’scontrolmoduleincludesmicrocontrollermanagement,manualtoautomatictransition,soildatadisplay,waterpumpautomation,lightintensitydataandcompensation,Wi-Fiwirelesscontrol,andbuzzeralarms.Thesystemalsofeaturesaswitchbetweenmanualandautomaticmodes.Inautomaticmode,itsetshumidityandtemperaturethresholdsandcompensatesforlightbasedonintensityreadings.TheWi-Fimoduleenablesremotecontrolofallfunctions.Long-termoperationaltestinghasproventhesystemtobestable,user-friendly,versatile,intelligent,precise,andenergy-efficient,makingitsuitableforlarge-scaleproductionandwidespreaduseinhomes,outdoors,andgreenhouses.KeywordsIntelligentIrrigationMicrocontrollerSTM32F103C8T6SoilTemperatureandHumidityWIFIWirelessTransmission目錄TOC\o"1-2"\h\u15209第一章緒論 142701.1課題的研究背景及意義 133621.2國內(nèi)外研究現(xiàn)狀 1270551.3本文主要工作 219003第二章系統(tǒng)方案與器件選擇 4169472.1系統(tǒng)方案設(shè)計 4227592.2單片機的選擇 6303752.3顯示屏的選擇 978732.4溫度模塊的選擇 10280552.5本章小結(jié) 122583第三章系統(tǒng)硬件設(shè)計 13159373.1硬件電路總體框架 13221923.2單片機最小系統(tǒng)電路設(shè)計 15145403.3開關(guān)電源電路設(shè)計 16290993.4按鍵電路設(shè)計 17177003.5液晶顯示電路設(shè)計 17157183.6土壤濕度檢測電路設(shè)計 19301543.7光照強度檢測電路設(shè)計 21157603.8溫度檢測電路設(shè)計 21220453.9繼電器驅(qū)動電路設(shè)計 23135193.10蜂鳴報警電路設(shè)計 25306883.11WIFI無線通信電路設(shè)計 26185993.12本章小結(jié) 278720第四章系統(tǒng)軟件設(shè)計 2896054.1主程序設(shè)計 28213194.2溫度采集子程序設(shè)計 30112804.3土壤濕度及光照強度子程序設(shè)計 3172214.4LCD液晶顯示子程序設(shè)計 32149074.5按鍵設(shè)置子程序設(shè)計 32151014.6蜂鳴報警子程序設(shè)計 33301204.7WIFI無線通訊子程序設(shè)計 34262404.8本章小結(jié) 3627227第五章系統(tǒng)功能測試 37288805.1編程語言及軟件選擇 37101925.2元器件清單 37251855.3實物調(diào)試 3861265.4本章小結(jié) 4231673結(jié)論 4326225致謝 4514766參考文獻 46第一章緒論1.1課題的研究背景及意義目前,我國的植物灌溉需求量巨大,從小型的家庭觀賞植物的灌溉到大型的農(nóng)田植物的灌溉,監(jiān)測和控制植物的生長環(huán)境對植物的生長起著不可或缺的作用。而適宜的生長環(huán)境對家庭觀賞植物和農(nóng)田植物都有著不同的要求和影響,在家庭觀賞植物中著重的是植物的觀賞性以及對室內(nèi)空氣的進化,但由于家養(yǎng)植物種類繁多,每一種植物都有自己的適宜生長環(huán)境,因此需要種植人更精心照料去提供適宜生長的不同條件[1],而農(nóng)田植物則側(cè)重的是植物的存活率和產(chǎn)量,在農(nóng)田植物的成長過程中,周圍的環(huán)境就起著更加重要的作用,而不同的植物,對土壤的生長環(huán)境需求是不同的,好的周圍環(huán)境可以直接影響植物營養(yǎng)物質(zhì)的吸收和生長發(fā)育,同時還影響著土壤中各種有利微生物群的恢復(fù)[2]。當(dāng)植物在遭遇非適宜的生長條件時,其生存和生長都會受到顯著干擾,甚至可能導(dǎo)致植株死亡,這就會對種植者的經(jīng)濟構(gòu)成嚴(yán)重打擊。因此,不論是用于家居裝飾的觀賞植物還是農(nóng)業(yè)生產(chǎn)的作物種植者,都迫切需求一種經(jīng)濟高效、體積小巧且精準(zhǔn)度高的環(huán)境監(jiān)測與灌溉管理系統(tǒng),以便根據(jù)實際需求調(diào)整灌溉策略,確保植物最佳的生長環(huán)境。在整個環(huán)境生長因素中,土壤濕度作為植物灌溉的重要考慮因素,是植物能夠穩(wěn)定生長發(fā)育的基本條件和作物產(chǎn)量預(yù)報的重要參數(shù)。此外,土壤的濕度也影響著植物蒸發(fā)這是地球水循環(huán)的重要組成部分[3],而獲取土壤溫濕度信息和光照等參數(shù)是制定人工干預(yù)調(diào)節(jié)措施和穩(wěn)固生產(chǎn)的重要保證[4],對于植物的研究也具有重要意義。同時,智能的植物灌溉也是農(nóng)田節(jié)水的重要組成部分[5]。所以實時、有效地監(jiān)測植物環(huán)境并實施智能控制灌溉不僅是對環(huán)境的保護和資源的節(jié)約也是可持續(xù)發(fā)展戰(zhàn)略必不可少的一環(huán)。1.2國內(nèi)外研究現(xiàn)狀目前,國內(nèi)外的智能灌溉系統(tǒng)已經(jīng)發(fā)展得十分迅速了,國內(nèi)已經(jīng)從傳統(tǒng)的液體灌溉系統(tǒng)向智能灌溉系統(tǒng)方向轉(zhuǎn)變了,而智能灌溉技術(shù)也成為了國內(nèi)農(nóng)業(yè)發(fā)展的不可或缺的部分,其廣泛應(yīng)用于農(nóng)業(yè)、城市綠化、園林景觀等領(lǐng)域。其中有基于物聯(lián)網(wǎng)的灌溉系統(tǒng)[6]、基于ZigBee的智能農(nóng)業(yè)灌溉系統(tǒng)[7]等已經(jīng)有了完善的體系。當(dāng)前,灌溉系統(tǒng)的效率主要依賴于精細(xì)控制土壤的溫濕度條件,而在低溫環(huán)境中(通常低于100攝氏度)的濕度測量技術(shù)已趨于完善,尤其是通過新型單總線數(shù)字濕度傳感器的引入,其開發(fā)速度得到了顯著提升[8]。然而,為了滿足現(xiàn)代生活與工作的多元化需求,需要設(shè)計一款經(jīng)濟實用、操作簡便且精確的溫濕度測量設(shè)備,推動向數(shù)字化和智能化管理的轉(zhuǎn)型。溫濕度測量作為關(guān)鍵指標(biāo),在農(nóng)業(yè)研究、食品儲存、醫(yī)療保健、化工生產(chǎn)、氣象預(yù)報、環(huán)境保護、電子產(chǎn)品制造及實驗室等多個領(lǐng)域發(fā)揮著不可或缺的作用。隨著工業(yè)自動化進程的加速,對溫濕度監(jiān)控的需求日益增長,并不斷拓展應(yīng)用范圍。在日常生產(chǎn)和生活中,對環(huán)境濕度的實時監(jiān)控至關(guān)重要,特別是在工業(yè)和農(nóng)業(yè)生產(chǎn)中,精度要求更高??萍嫉倪M步促使環(huán)境監(jiān)測在農(nóng)業(yè)中的應(yīng)用日益廣泛,如探究特定幼苗生長特性與其生長環(huán)境——溫度和濕度的關(guān)系。為此,濕度測量的精確度在糧庫管理、種植基地、溫室調(diào)控以及自動化控制系統(tǒng)等領(lǐng)域得到了廣泛應(yīng)用,其主要功能是為實現(xiàn)數(shù)據(jù)收集、濕度調(diào)控以及超出閾值的預(yù)警等功能。濕度感應(yīng)技術(shù)應(yīng)用在了許多的傳感器類別中,其中包括了電阻式和電容式濕度響應(yīng)元件,以及獨特的電解質(zhì)離子效應(yīng)器、基于質(zhì)量變化的振動頻率調(diào)控器、光強度依賴型和聲波表面效應(yīng)濕敏元件等。盡管這些技術(shù)各有其獨特性,但它們共同面臨的問題在于線性響應(yīng)性能不足和對環(huán)境污染物的敏感性。長時間處于待測環(huán)境下的濕敏元件,往往會遭受污染的影響,這不僅會侵蝕測量結(jié)果的精確度,還可能動搖其長期的穩(wěn)定表現(xiàn)。1.3本文主要工作本文設(shè)計實現(xiàn)了一款基于STM32單片機的植物灌溉系統(tǒng),旨在提供一種有效的方式來監(jiān)測土壤溫濕度、環(huán)境光照強度,以支持植物的健康生長。濕度的檢測選擇了YL-69土壤濕度傳感器作為主要的濕度檢測器,這種傳感器具有高度可靠性和精準(zhǔn)度,能夠準(zhǔn)確地測量土壤的濕度水平。此傳感器具備了高測量精度、簡單的硬件電路以及清晰易讀的顯示功能,使用戶能夠輕松地獲取濕度數(shù)據(jù)并進行分析。并且該系統(tǒng)能夠測試不同土壤環(huán)境下的濕度特性,幫助用戶更好地了解植物生長環(huán)境,并采取相應(yīng)的措施來調(diào)整土壤濕度。此外用戶也可以通過按鍵設(shè)置不同植物所需的濕度范圍,從而滿足不同植物對濕度的需求,為它們提供最佳的生長環(huán)境。除了土壤濕度,還使用了DS18B20傳感器來采集當(dāng)前環(huán)境的溫度數(shù)據(jù),以全面了解植物生長的環(huán)境條件。而光敏電阻被用于檢測當(dāng)前植物所處的光照強度,這樣可以更全面地了解植物所受的光照條件,并做出相應(yīng)的調(diào)整。再通過使用ESP8226的WIFI無線通信模塊,將采集到的數(shù)據(jù)信息傳輸至手機端進行顯示和控制,使用戶能夠隨時隨地監(jiān)測植物的生長環(huán)境,并進行必要的調(diào)整。外圍器件能夠控制當(dāng)前環(huán)境的溫度、濕度和光照等重要參數(shù),確保植物處于最適宜的生長環(huán)境中,從而促進植物的健康生長和發(fā)育。在本設(shè)計中,單片機扮演了至關(guān)重要的控制器角色,其性能的優(yōu)劣直接決定了整個系統(tǒng)的效能與穩(wěn)定性。因此本設(shè)計選用了STM32F103C8T6作為系統(tǒng)的核心控制器件,以協(xié)同各類精密傳感器和周邊電路,從而構(gòu)建出一個功能完備的環(huán)境監(jiān)控體系。這套系統(tǒng)能持續(xù)通過內(nèi)置傳感器實時捕捉環(huán)境變量的微小變動,并通過液晶顯示屏展示土壤濕度的即時讀數(shù)。為了實現(xiàn)智能化操作,從而巧妙地運用了三極管與繼電器的組合,通過按鍵設(shè)定灌溉觸發(fā)點,并實時顯示在屏幕上,賦予用戶便捷的控制體驗。本文詳述了系統(tǒng)的硬件布局和軟件編程方式,成功實現(xiàn)了對植物生長環(huán)境的動態(tài)自動化監(jiān)測。最后在實際應(yīng)用后表明,該系統(tǒng)在測量精確度和靈活性上表現(xiàn)出色,為用戶提供了高效且精準(zhǔn)的植物生長環(huán)境監(jiān)控工具,具有顯著的實際應(yīng)用價值。實現(xiàn)的基本功能和要求如下:(1)通過STM32F103C8T6單片機通過編程來實現(xiàn)數(shù)據(jù)處理控制;(2)通過YL-69檢測土壤濕度;(3)設(shè)計蜂鳴器聲光報警提醒;(4)通過三極管驅(qū)動繼電器實現(xiàn)水泵、燈光(5)按鍵設(shè)置土壤溫濕度、光照范圍(6)通過DS18B20進行溫度采集(7)通過光敏電阻5528進行光照采集(8)畫出相關(guān)設(shè)計圖,能做出實物,寫出設(shè)計和和總結(jié)報告(9)通過無線模塊ESP8266進行數(shù)據(jù)傳輸和控制第二章系統(tǒng)方案與器件選擇本章主要介紹具體的系統(tǒng)設(shè)計方案及所選單片機的知識。在充分對比前期所選兩個方案后選擇單片機作為數(shù)據(jù)處理的核心模塊,同時還介紹了擬采用的STM32單片機的特點和優(yōu)勢,分析了所選用的顯示器的工作原理和測溫傳感器的結(jié)構(gòu)框圖。2.1系統(tǒng)方案設(shè)計通過前期學(xué)習(xí)了解得知單片機系統(tǒng)具備高可靠性、操作維護便捷以及高性價比等特點,這些是其在各個領(lǐng)域得以廣泛應(yīng)用的重要優(yōu)勢[9]。其中高可靠性是單片機系統(tǒng)應(yīng)用的基本前提,因此在系統(tǒng)設(shè)計的開始階段就應(yīng)該將系統(tǒng)的可靠性作為首要考量準(zhǔn)則。只有在確保系統(tǒng)穩(wěn)定可靠的基礎(chǔ)上,才能實現(xiàn)其它功能的有效運行。同時在提高系統(tǒng)可靠性的過程中,可以從多個方面進行考慮和改進。例如,選擇可靠性高的元器件是確保系統(tǒng)穩(wěn)定運行的基礎(chǔ),合理設(shè)計電路板布線和接地可以減少信號干擾,還有采用抗干擾措施也可以有效應(yīng)對外部環(huán)境的影響等。當(dāng)然為了使操作維護更加方便,也可以從操作者的角度出發(fā),盡可能減少人機交互的復(fù)雜度,簡化操作方式。這意味著設(shè)計需要考慮如何設(shè)計出清晰易懂的用戶界面,以及如何簡化配置和維護流程,從而降低操作的難度和出錯的可能性。此外單片機系統(tǒng)的優(yōu)勢之一還有其高性價比,這使得其可以廣泛應(yīng)用在各種應(yīng)用場景之下。性價比的提高不僅可以降低系統(tǒng)的總體成本,還可以提高其競爭力和市場占有率。在系統(tǒng)設(shè)計中,除了追求高性能外,還應(yīng)該盡可能降低成本。這可以通過多種途徑實現(xiàn),例如簡化外圍硬件電路的設(shè)計、充分利用單片機的軟件功能替代部分硬件功能等。這樣不僅可以降低系統(tǒng)的制造成本,還可以提高系統(tǒng)的靈活性和可維護性。根據(jù)所查資料與學(xué)習(xí)[10],本設(shè)計考慮了以下兩種不同采集環(huán)境信息數(shù)據(jù)的方案設(shè)計:方案一:首先利用濕度傳感器獲取土壤濕度數(shù)據(jù),并通過檢測土壤中的水分含量來評估其濕度水平。接著將采集到的模擬信號通過模數(shù)轉(zhuǎn)換器(ADC)進行處理,將其轉(zhuǎn)換為數(shù)字形式,以便進行進一步的處理和分析。然后再將轉(zhuǎn)化后的數(shù)字信號通過譯碼器傳送至顯示電路,使得土壤濕度數(shù)據(jù)能夠被有效地顯示出來,使用戶能夠直觀地了解土壤濕度情況。而使用采用555芯片的多諧振蕩器作為提供給ADC轉(zhuǎn)換電路所需的脈沖信號的源頭,可以確保了系統(tǒng)的穩(wěn)定性和準(zhǔn)確性。方案一通過整合濕度傳感器、模數(shù)轉(zhuǎn)換器(ADC)、譯碼器和多諧振蕩器,可以成功地構(gòu)建一個全面的土壤濕度檢測系統(tǒng)。該系統(tǒng)能夠?qū)崟r地監(jiān)測土壤的濕度狀況,并通過顯示電路將數(shù)據(jù)直觀地呈現(xiàn)出來,為用戶提供了方便和準(zhǔn)確的土壤濕度信息。而這樣的系統(tǒng)在農(nóng)業(yè)領(lǐng)域中具有重要的應(yīng)用意義,能夠幫助農(nóng)民有效地管理土壤水分,提高作物的生長質(zhì)量和產(chǎn)量。具體流程圖如下圖2.1所示圖2.1方案一流程圖方案二:方案二的設(shè)計是對方案一進行了創(chuàng)新性的調(diào)整,側(cè)重于優(yōu)化信號處理單元。具體來說,溫濕度傳感器的原始讀數(shù)首先通過高精度的模擬數(shù)字轉(zhuǎn)換器進行轉(zhuǎn)化,然后高效地傳輸至STM32單片機進行深度分析和實時處理。在此基礎(chǔ)上,方案進一步拓展了系統(tǒng)架構(gòu),增添了多元化的外圍電路設(shè)計。這些外圍電路包括溫濕度采集電路、光照采集電路、時鐘晶振電路、液晶顯示電路、蜂鳴報警電路等。這種集成式的解決方案提升了整體性能和實用性??梢詫崿F(xiàn)溫濕度檢測、數(shù)據(jù)傳輸、蜂鳴報警、按鍵控制、WIFI信號傳輸、水泵灌溉控制等功能。具體流程圖如下圖2.2所示。圖2.2方案二流程圖最終方案選擇:方案一的譯碼器有著顯著缺陷,即所謂的消隱狀態(tài)現(xiàn)象。當(dāng)經(jīng)A/D轉(zhuǎn)換的數(shù)據(jù)超出1001時,譯碼器的輸出狀態(tài)全部轉(zhuǎn)為低電平,因而濕度值的每一位都無法在顯示器上精確反映。相比之下,方案二選擇的單片機具備微型化和低能耗的優(yōu)勢,更引人注目的是其出色的性價比。單片機的工作速率和精度遠(yuǎn)超方案一,展現(xiàn)出更高的運行效率和精密度。在設(shè)計中不僅可以確保高效性能,還能簡化外部硬件電路的設(shè)計。同時如果系統(tǒng)的性能和速度允許,單片機能夠通過軟件編程實現(xiàn)原本需硬件完成的功能,從而增強了方案的適應(yīng)性和效率。因此,最終決定選擇方案二作為本次畢業(yè)設(shè)計的設(shè)計方案。2.2單片機的選擇單片機通俗來講是一種集成度極高的微型計算機模塊,廣泛應(yīng)用于控制系統(tǒng)的構(gòu)建。作為微型計算機架構(gòu)的關(guān)鍵組成部分,它在日常生活中發(fā)揮著操控作用。其基本構(gòu)造由單一的集成電路組成,其中包括核心的CPU處理器,即中央處理單元,以及輸入輸出接口(I/O)和內(nèi)存單元。通過定制化的編程和燒錄,單片機能有效地管理周邊設(shè)備的操作。微型計算機,即單片機,將計算處理器、內(nèi)存以及I/O接口集成于單一的半導(dǎo)體裝置內(nèi)。構(gòu)成單片機的核心包括中央處理器系統(tǒng)、程序存儲空間、數(shù)據(jù)存儲區(qū)、各種輸入輸出接口以及基礎(chǔ)功能模塊。在精確的軟件指令引導(dǎo)下,單片機能夠高效地執(zhí)行編程者設(shè)定的復(fù)雜任務(wù)。因其性價比優(yōu)越、能耗低、穩(wěn)定性強、控制功能出色以及良好的拓展性,也在電子系統(tǒng)設(shè)計中扮演著至關(guān)重要的角色。單片機的運用不僅簡化了電路設(shè)計的難度,也提升了系統(tǒng)智能水平,廣泛應(yīng)用于科技進步和日常生活的各個層面。隨著技術(shù)的持續(xù)演進,單片機正向著更強大的性能和更多樣化的類型邁進,預(yù)示著其應(yīng)用潛力的巨大。其具體的內(nèi)部工作結(jié)構(gòu)圖如下圖2.3所示:圖2.3單片機內(nèi)部結(jié)構(gòu)圖本次設(shè)計擬采用以STM32F103C8T6為核心板的單片機作為研究對象。而STM32系列單片機以其低功耗、高效能和快速可擦寫特性而聞名,其簡潔易用的設(shè)計使得其在醫(yī)療保健、工業(yè)生產(chǎn)、自動化停車設(shè)施、計算機外圍設(shè)備以及通信技術(shù)等領(lǐng)域大放異彩。為了實現(xiàn)系統(tǒng)的有效交互和功能執(zhí)行,單片機需與電路或外部組件進行信息交換。這就依賴于如同橋梁的引腳的連接,這將單片機的內(nèi)部特性外顯。而隨著科技的迭代,性能不再是單片機設(shè)計的唯一點,也開始注重體積緊湊和外觀美學(xué)??茖W(xué)家們創(chuàng)新性地賦予許多引腳雙重或多重功能,以適應(yīng)多樣化的需求。以40線雙列直插式封裝形式為例,本設(shè)計將深入剖析這一實用的封裝形式。對于STM32單片機所具有的特點有下面這些,STM32單片機是基于ARMCortex-M內(nèi)核的32位微控制器,其具備低功耗、低成本和高性能的特點[11],由于其搭載著高速處理器和內(nèi)存,因此能夠輕松處理復(fù)雜的應(yīng)用。而其豐富的外設(shè)接口包括USB、CAN、SPI、I2C等[12],便于與其他設(shè)備的通信。STM32擁有豐富的資料和開發(fā)板,同時ST公司提供的固件庫簡化了開發(fā)流程,降低了學(xué)習(xí)和使用的門檻。在調(diào)試和測試方面,STM32配備了SWD和JTAG等多種接口,便于開發(fā)者進行調(diào)試和測試。其豐富的開發(fā)生態(tài),包括開源工具和庫如CMSIS、HAL庫,可加速開發(fā)時間、降低成本?,F(xiàn)在STM32單片機廣泛應(yīng)用于消費電子、工業(yè)控制、汽車電子、醫(yī)療設(shè)備等領(lǐng)域,具備良好的市場前景和潛力。此外,STM32單片機早期價格較低,提供高性價比解決方案,封裝類型也非常豐富,適用于不同的應(yīng)用需求和制造工藝。下圖2.4為單片機的內(nèi)核特點圖。圖2.4單片機的內(nèi)核特點圖STM32單片機的工作電壓范圍為2~3.6V,工作頻率為48MHz,具有8KB的RAM,8個16-bit定時器和1個32-bit定時器,以及1x12-bit的A/D轉(zhuǎn)換器和1x12-bit的D/A轉(zhuǎn)換器,同時其還包含1個SPI/I2S、1個SPI;、2個I2C、2個USART和CEC的通信接口以及39個I/Os接口。本設(shè)計擬采用的是STM32F103系列單片機的一種型號STM32F103C8T6,STM32F103作為STM32F101的升級版,能夠在32位微控制器領(lǐng)域獨領(lǐng)風(fēng)騷,以其卓越的操控性能和高效的通信能力脫穎而出,特別適用于對低電壓和低能耗有極高要求的應(yīng)用環(huán)境。

??這款單片機基于ARMCortex-M3內(nèi)核的創(chuàng)新設(shè)計,該內(nèi)核專為追求高性能、成本效益和能效的嵌入式解決方案而定制。其時鐘頻率高達72MHz,遠(yuǎn)超同類產(chǎn)品的平均水平,展現(xiàn)出無與倫比的運算速度。內(nèi)置的閃存容量范圍從32K到128K,足以容納并執(zhí)行程序代碼,同時,STM32F103以業(yè)界領(lǐng)先的低功耗著稱,僅在滿負(fù)荷運行下消耗36mA電流,這使得它在32位芯片市場上的能效達到了驚人的0.5mA/MHz。值得一提的是,STM32F103配備了四個全功能的GPIO接口,包括SPI-NSS信號選擇、MISO數(shù)據(jù)輸出、SCK時鐘線以及MOSI數(shù)據(jù)輸入,這些特性極大地擴展了其多功能性和靈活性[13]。STM32F103單片機,作為一款專為工業(yè)環(huán)境量身打造的高效能處理器,其由STC公司早期研發(fā),主要用于自動化控制。它在工業(yè)環(huán)境中扮演著核心角色,負(fù)責(zé)監(jiān)控傳感器輸入,執(zhí)行復(fù)雜的計算任務(wù),驅(qū)動外設(shè)執(zhí)行指令,實現(xiàn)了高度精確的控制流程。盡管在日常生活中,單片機如STM32F103C8T6相對電腦而言顯得微不足道,但其在簡化設(shè)備管理與執(zhí)行基礎(chǔ)任務(wù)方面發(fā)揮著不可或缺的作用,包括操控各類家電,如冰箱、空調(diào)等,以及日常生活中的遙控器、電子設(shè)備等,內(nèi)部均蘊含了單片機技術(shù)。該單片機在設(shè)計選擇上,相較于經(jīng)典的51系列,優(yōu)勢明顯,不僅擁有更快的運行速度,還內(nèi)置兩個AD轉(zhuǎn)換器,無需額外ADC就能實現(xiàn)溫濕度數(shù)據(jù)采集轉(zhuǎn)換,極大地提升了設(shè)計效率。STM32的強大之處在于其卓越的通信和控制能力,擁有五個串口接口,遠(yuǎn)超51單片機的單一串口,使得在需要多路串行通信的場景下,無需外部輔助設(shè)備,從而節(jié)省成本并提高靈活性。STM32F103C8T6的特點具體如下:(1)采用高級的RTC震蕩源,以低能耗方式運作,區(qū)別于傳統(tǒng)低成本的柱狀晶體振蕩器,提升了穩(wěn)定性和可靠性。(2)擁有豐富的引腳接口,共計48個,便于與外部設(shè)備連接。(3)72MHz的工作頻率能夠確保其高速運算的性能。(4)內(nèi)部置入了三個通用定時器和一個高級定時器,可以滿足不同時間精度需求。(5)配備兩個16通道的2位ADC,可以提升數(shù)據(jù)采集精度。(6)3.3V的穩(wěn)壓芯片,可以穩(wěn)定輸出高達300mA的電流,保證供電穩(wěn)定性。(7)支持先進的ST-LINK和JTAG調(diào)試下載方式,便于開發(fā)和維護[14]。(8)內(nèi)存資源豐富,擁有64KB的閃存和20字節(jié)的SRAM,能滿足多樣化應(yīng)用需求。而STM32系列單片機系統(tǒng)的復(fù)位內(nèi)容為:初始化電路的核心目標(biāo)在于使系統(tǒng)回歸到起始配置,STM32的復(fù)位模式則可以呈現(xiàn)出多元化的形式,包括電源啟動復(fù)位、系統(tǒng)全面復(fù)位、備用區(qū)域復(fù)位等。電源啟動復(fù)位:在電源初次接入、斷電后再接或從休眠模式切換時,都會觸發(fā)此類型復(fù)位。除了預(yù)留的備份區(qū)域寄存器外,所有寄存器的狀態(tài)都會被重置。系統(tǒng)全面復(fù)位則由以下事件引發(fā):(1)NRST引腳呈現(xiàn)低電平狀態(tài),即外部復(fù)位信號(2)窗口看門狗計數(shù)器完成一輪后,自動觸發(fā)復(fù)位(WWDG復(fù)位)(3)獨立看門狗計數(shù)器計滿,導(dǎo)致系統(tǒng)重啟(IWDG復(fù)位)(4)通過軟件命令實施的強制性復(fù)位(SW復(fù)位)(5)當(dāng)?shù)凸墓芾砟J綀?zhí)行完畢時,也會進行復(fù)位關(guān)于STM32的震蕩源設(shè)置:首先需了解,STM32內(nèi)部并不內(nèi)置晶振,而是采用HSI(高速內(nèi)部振蕩器),它基于一個8MHz的RC振蕩器,其精準(zhǔn)度大約為1%。相比之下,外部時鐘源HSE的精確度遠(yuǎn)超HSI,至少高出一個數(shù)量級。選擇HSI并非絕對劣勢,關(guān)鍵在于具體應(yīng)用場景和對時鐘穩(wěn)定性的需求。值得注意的是,在使用HSI時,系統(tǒng)最高工作頻率將受限于其自身的8MHz基礎(chǔ),例如,STM32的ISP功能就可能依賴于HSI振蕩器[15]。2.3顯示屏的選擇液晶顯示器(LCD)因其緊湊型結(jié)構(gòu)、極低能耗和超薄特性,成為智能設(shè)備和節(jié)能電子產(chǎn)品的理想選擇。單片機通過靈活的數(shù)據(jù)總線和控制信號接口,能夠?qū)崿F(xiàn)對LCD模塊高效且精確的操控,比如以存儲器映射或I/O設(shè)備模式操作。本項目擬選用的SMC1602A液晶屏,其工作原理基于液晶分子對電壓響應(yīng)的特性,只需施加電壓,即可呈現(xiàn)文字和圖形。下面是SMC1602A液晶屏所具備的特點[16]:(1)核心配備5V穩(wěn)定電源,高效節(jié)能,且具有卓越的耐用性和可靠性;(2)內(nèi)置豐富的字符庫,總計192種不同字體供選擇;(3)內(nèi)置64字節(jié)的自定義內(nèi)存,支持個性化定制,可展現(xiàn)八個5x8點陣字符的獨特設(shè)計;(4)顯示模式多樣,包括半透明、STN標(biāo)準(zhǔn)和正向顯示效果;(5)驅(qū)動技術(shù)先進,支持1/16DUTY周期和1/5BIAS電流控制;(6)視角范圍廣闊,可達六個主要觀看角度;(7)背光源采用高效LED技術(shù),確保清晰度和節(jié)能環(huán)保;(8)通信接口兼容性強,支持4位和8位并行接口,便于外部設(shè)備連接。2.4溫度模塊的選擇本設(shè)計擬采用的測溫模塊的器件是DS18B20。DS18B20是由DALLAS半導(dǎo)體公司研發(fā)的一款創(chuàng)新型數(shù)字溫度傳感器,其核心優(yōu)勢體現(xiàn)在以下幾個方面:(1)它采用了革命性的單線通信設(shè)計,使得微處理器與傳感器間的交互僅依賴單一的I/O通道,顯著節(jié)省了資源占用。(2)它支持多設(shè)備連接,極大地簡化了分布式溫度監(jiān)控網(wǎng)絡(luò)的布線復(fù)雜性和硬件成本,提升了系統(tǒng)的靈活性。(3)獨特的無外圍元件設(shè)計,確保在測量過程中無需額外添加組件,提高了整體效率。(4)具備數(shù)據(jù)線供電功能,這意味著它能在極低能耗狀態(tài)下運行,有利于節(jié)能減排。(5)溫度感應(yīng)范圍寬廣,覆蓋-55℃至+125℃,并保持±0.5℃的高精度,確保了讀數(shù)的準(zhǔn)確性[17]。(6)其溫度轉(zhuǎn)換精度可以編程設(shè)置,高達12位,通過串行輸出的方式直接顯示16位二進制數(shù)值,轉(zhuǎn)換過程快速,只需750毫秒即可完成。由于其數(shù)字化輸出和高效I/O管理,DS18B20特別適用于各類微處理器主導(dǎo)的溫度控制體系,消除了模擬傳感器與處理器間A/D轉(zhuǎn)換及外圍電路設(shè)計的繁瑣,從而減小了系統(tǒng)尺寸,提升了系統(tǒng)的穩(wěn)定性和集成度。而DS18B20的核心構(gòu)造可分為四個關(guān)鍵部分:

??(1)內(nèi)置64位光刻ROM存儲單元,承載數(shù)據(jù)信息

??(2)精密溫度感應(yīng)模塊,用于實時測溫

??(3)兩個非易失性電擦除溫度警報觸發(fā)器TH和TL,確保安全閾值管理

??(4)設(shè)置寄存器,負(fù)責(zé)設(shè)備的初始化和配置

??這款設(shè)備緊湊地整合了僅需三根引腳,VDD和GND作為電源供應(yīng),而DQ線則充當(dāng)高效的一線式數(shù)據(jù)傳輸通道,方便與單片機等設(shè)備的集成。通過獨特的64位ROM編碼,DS18B20區(qū)分出個體,其中前8位標(biāo)識產(chǎn)品系列,48位構(gòu)成唯一的序列號,以十進制15位數(shù)字體現(xiàn)芯片的獨特身份。最后的8位是CRC校驗碼,確保數(shù)據(jù)傳輸?shù)臏?zhǔn)確無誤,使得多枚DS18B20能夠并行于同一數(shù)據(jù)線,無需擔(dān)憂數(shù)據(jù)混淆,極大地方便了多點溫度測量。

??DS18B20傳感器內(nèi)部包括9個字節(jié)的數(shù)據(jù)儲存結(jié)構(gòu)。前兩字節(jié)存儲可由系統(tǒng)配置寄存器自定義精度的溫度數(shù)據(jù),范圍從9到12位,位數(shù)越多,溫度分辨能力越強,高位用于擴展溫度數(shù)據(jù)的符號。接下來的兩字節(jié)設(shè)定溫度閾值報警范圍。第五字節(jié)是系統(tǒng)配置寄存器,其中第八位控制傳感器工作模式,"1"代表測試模式,"0"代表正常運行,出廠默認(rèn)為操作模式,用戶不可隨意更改;第七和第六位則是溫度數(shù)據(jù)位數(shù)設(shè)置,出廠預(yù)設(shè)為12位,用戶可以根據(jù)需求調(diào)整,其余位保持無效。第六至第八字節(jié)暫時未被利用。最后,第九字節(jié)是對前八個字節(jié)的數(shù)據(jù)進行循環(huán)檢驗的CRC校驗碼,確保通信數(shù)據(jù)的完整性和準(zhǔn)確性。在便箋式存儲器中,溫度傳感器的轉(zhuǎn)化輸出以16位的二進制補碼形式呈現(xiàn)。其中,低字節(jié)(Byte0)承載著數(shù)據(jù)的低八位(LSByts),而高字節(jié)(Byte1)則包含了數(shù)據(jù)的高八位(MSByts)。一個關(guān)鍵的位是符號位(S),它在溫度數(shù)值的最前面,當(dāng)溫度為負(fù)時,S的值為1;反之,如果溫度為正,S則為0。其格式如下表2.1和表2.2所示:表2.1低位存放數(shù)據(jù)LSBytsBit0Bit1Bit2Bit3Bit4Bit5Bit6Bit7232221202-12-22-32-4表2.2高位存放數(shù)據(jù)MSBytsBit8Bit9Bit10Bit11Bit12Bit13Bit14Bit15SSSSS262524當(dāng)溫度讀數(shù)超過DS18B20預(yù)設(shè)的警戒閾值TH或TL時,該傳感器內(nèi)置的報警標(biāo)志被激活,這表明測量的溫度已超越設(shè)定的界限。DS18B20的溫度轉(zhuǎn)換精度可調(diào)整為9至12位,分別對應(yīng)0.5°C、0.25°C、0.125°C和0.0625°C的分辨率。然而,隨著位數(shù)的增加,轉(zhuǎn)換過程所需的時間也隨之增長。例如,采用12位精度的最大轉(zhuǎn)換時間可達750毫秒。這款傳感器的溫度工作范圍界定在-55°C到+125°C之間,其溫度數(shù)據(jù)以二進制16位的形式單線傳輸。轉(zhuǎn)換位數(shù)的具體設(shè)置可以通過對配置寄存器(存儲在第4字節(jié))進行寫入來完成,其詳細(xì)結(jié)構(gòu)如以下表2.3所示:表2.3輸出位數(shù)配置寄存器Bit7Bit6Bit5Bit4Bit3Bit2Bit1Bit00R1R011111表2.5揭示了R1、R0的參數(shù)配置與其位數(shù)、分辨率及最大轉(zhuǎn)換周期之間的關(guān)聯(lián):隨著位數(shù)每減小一位,分辨率呈現(xiàn)出線性的降低,同時轉(zhuǎn)換周期卻呈現(xiàn)出翻倍的增長趨勢。初始啟動時,設(shè)備預(yù)設(shè)的分辨率固定在12位。表2.5配置寄存器設(shè)置R1R0分辨率℃最大轉(zhuǎn)換時間ms有效位數(shù)000.593.759位(Bit11~Bit3)010.25187.5010位(Bit11~Bit2)100.125375.0011位(Bit11~Bit1)110.0625750.0012位(Bit11~Bit0)溫度警報觸發(fā)器和設(shè)置單元均采用非易失性電可擦除只讀存儲器(NV-EEPROM),其內(nèi)部存儲的設(shè)置值可以通過特定指令進行寫入操作。這種設(shè)計確保了數(shù)據(jù)的持久性,即使在電源中斷的情況下,先前設(shè)置的值也不會丟失。整體的DS18B20結(jié)構(gòu)框圖如下圖2.5所示。圖2.5DS18B20結(jié)構(gòu)框圖2.5本章小結(jié)本章著重介紹了本設(shè)計總體的模塊組成方案,對比得出了STM32單片機的優(yōu)勢和特點,同時也分析了STM32F103C8T6單片機的工作原理和其內(nèi)核特色優(yōu)勢。接著介紹了所選用顯示模塊SMC1602A液晶屏的特點和編碼原理,分析介紹了所選用的測溫模塊DS18B20的核心優(yōu)勢及工作的結(jié)構(gòu)框圖。為下面設(shè)計的硬件和軟件部分提供了理論基礎(chǔ)。第三章系統(tǒng)硬件設(shè)計本設(shè)計硬件部分使用了一種MCU最小系統(tǒng)。在這個概念中,MCU的最小體系是一種能夠控制單臺設(shè)備正常運行的程序,而使其正常工作的最基本的電路,是確保芯片能夠正常啟動,開始工作的必要電路,任何一個環(huán)節(jié)都是必不可少的。單片機的微型計算機主要包括單片機,程序存儲器,時鐘電路,重置電路等。以STM32為例,其最小的體系結(jié)構(gòu)除MCU自身之外,僅需要外部的時鐘和重置電路。采用單片微型計算機組成的檢測裝置,將土壤水分檢測儀YL-69與光敏電路分別變換為高、低兩個數(shù)字電平,經(jīng)單片機處理后,將測定的濕度、光強等參數(shù)通過液晶顯示器進行顯示。該系統(tǒng)采用了STM32作為主控制器,各個模塊的功能由外圍的線路實現(xiàn),其中有時鐘;晶振電路,測濕電路,溫度采集,無線傳輸?shù)裙δ?;繼電器控制,LCD顯示,蜂鳴報警,鍵盤等模塊。3.1硬件電路總體框架本設(shè)計硬件部分分為單片機最小系統(tǒng)電路、開關(guān)電源電路、按鍵控制電路、LCD液晶顯示電路、土壤濕度檢測電路、光照強度檢測電路、溫度檢測電路、繼電器控制光照補償及水泵控制電路、蜂鳴報警電路、WIFI無線通信電路。具體的硬件實物圖如下圖3.1所示。圖3.1硬件總體實物圖下面是硬件設(shè)計的總體電路圖的原理圖及電路板的PCB圖,分別如圖3.2和圖3.3所示。圖3.2硬件電路原理圖圖3.3硬件電路PCB圖3.2單片機最小系統(tǒng)電路設(shè)計單片機的最小系統(tǒng)是一種微型計算機體系,它將整個計算功能濃縮于一枚芯片之內(nèi),確保了單片機的有效運行和性能展現(xiàn)[18]。這個系統(tǒng)猶如微型計算機的心臟,展現(xiàn)出顯著的智能化特性,扮演著指揮調(diào)度的關(guān)鍵角色。除了驅(qū)動輸出設(shè)備和包含計時器功能外,它還集成了時間管理以及通信接口,將所有必需組件封裝于微小的芯片之中。盡管單片機技術(shù)已發(fā)展至高度成熟,但其基礎(chǔ)構(gòu)造仍然保留著至關(guān)重要的價值。而本設(shè)計選用的是STM32F103C8T6單片機,其中以STM32F103C8T6單片機為核心而設(shè)計的單片機最小系統(tǒng)的電路圖和實物圖如下圖3.4和圖3.5所示:圖3.4單片機最小系統(tǒng)電路原理圖圖3.5單片機最小系統(tǒng)實物圖上圖中單片機最小系統(tǒng)的電源指示燈LED(通常標(biāo)記為PWR,表現(xiàn)為紅色):常亮象征著單片機的正常運作,若亮度變暗或閃爍,則可能預(yù)示著潛在的問題。當(dāng)用戶交互LED(PC13)可以極大地提升操作便利性,尤其是對于基礎(chǔ)功能測試,如確認(rèn)單片機的工作狀態(tài),對用戶來說是一個極好的學(xué)習(xí)輔助工具。而本單片機最小系統(tǒng)則采用了一種創(chuàng)新的跳接帽技術(shù),允許通過三種不同的編程模式來操作STM32,包括用戶程序存儲、閃存編程以及系統(tǒng)內(nèi)存管理。而此STM32單片機內(nèi)部集成的復(fù)位電路,確保了系統(tǒng)的穩(wěn)定啟動和重啟過程。核心的8兆赫茲晶體振蕩器的主要任務(wù)是設(shè)定單片機的工作頻率為72兆赫茲,為系統(tǒng)的精準(zhǔn)運行提供了基礎(chǔ)。32.768千赫茲的備用晶體振蕩器,特別設(shè)計以支持內(nèi)置實時時鐘(RTC),免去了額外安裝計時器芯片的需求,簡化了系統(tǒng)的配置。3.3開關(guān)電源電路設(shè)計該設(shè)計的電源管理系統(tǒng)依賴于穩(wěn)定的5伏直流輸入。其核心元件包括一個6腳電源開關(guān)和一個3腳電源開關(guān)。電源開關(guān)的主要任務(wù)是控制整個單片機系統(tǒng)的電流通斷。其中,電源開關(guān)的第三腳僅用于固定,無實際功能,第一腳則與第三腳相連??刂茊卧囊惶柡腿?,四號和六號兩對對角引腳具有互補作用,皆作為正向電壓輸出端。而二號和五號腳作為開關(guān)的地線接口,用戶可以根據(jù)具體應(yīng)用選擇,如選擇一號和三號為電源輸出,五號則接地;反之,如選四號和六號輸出,二號則接地??紤]到系統(tǒng)內(nèi)所有傳感器和無線通信芯片的工作電壓都保持在5伏以下,5伏電源已經(jīng)足夠滿足其運行需求。如果系統(tǒng)中存在工作電壓需達12伏或更高值的傳感器,可利用外部升壓轉(zhuǎn)換器將5伏基礎(chǔ)電壓提升至所需的電壓級別。這樣的靈活性設(shè)計旨在適應(yīng)不同設(shè)備的電力需求。系統(tǒng)的開關(guān)電源電路的設(shè)計如下圖3.6所示:圖3.6開關(guān)電源電路原理圖圖3.7開關(guān)電源實物圖3.4按鍵電路設(shè)計該系統(tǒng)集成了一項人機交互功能,允許即時的指令操控和數(shù)據(jù)輸入,同時能通過LCD屏幕顯示運行狀態(tài)和輸出結(jié)果。鍵盤類型分為獨立式和矩陣式,每種又依據(jù)編碼方式細(xì)分為編碼鍵和非編碼鍵[19]。鑒于本系統(tǒng)的操作需求僅限于自動/手動切換、增減操作以及開關(guān)燈,因此結(jié)構(gòu)更簡單的獨立式按鍵選便成了最優(yōu)選。獨立型按鍵的設(shè)計原理是建立在每個按鍵與一個單獨的I/O端口線一對一的連接基礎(chǔ)上,確保各個線路間的獨立,避免相互干擾。在電路布局時,設(shè)定按鍵的輸入端為低電平有效模式。這樣在按鍵未被按下時,通過上拉電阻維持I/O端口線的高電平狀態(tài),因此不需要另外安裝上拉電阻。此外為解決鍵盤抖動問題,通常采用硬件和軟件兩種消抖技術(shù)[20]:(1)硬件消抖是利用硬件電路來處理按鍵按下和釋放時的瞬間抖動,經(jīng)此處理后,按鍵的電平信號只會呈現(xiàn)兩種穩(wěn)定狀態(tài)。(2)軟件消抖則是在檢測到按鍵閉合時,通過延遲程序消除前沿抖動,等待一段時間后再判斷是否真正按下。而在按鍵釋放時,同樣延遲后確認(rèn)后沿抖動的消失,以判斷按鍵是否已釋放??紤]到硬件消抖可能增加額外成本,因此本系統(tǒng)選擇使用軟件延遲消抖策略。因為按鍵按下時,會向單片機發(fā)送低電平信號,松開時則為高電平,所以以此識別按鍵的狀態(tài)。通過編程編寫按鍵掃描函數(shù),即可實現(xiàn)所需功能。具體的按鍵電路原理圖如下圖3.8所示,實物圖如下圖3.9所示:圖3.8按鍵電路原理圖圖3.9按鍵電路原理圖3.5液晶顯示電路設(shè)計本系統(tǒng)擬采用的SMC1602A液晶屏作為一種常用的字符型液晶顯示模塊,其富含特點的物理特性使得其可以適用于多種電子設(shè)備和儀器儀表,特別是在需要使用字符顯示的應(yīng)用場景中SMC1602A液晶屏憑借著自身的功能豐富和價格低廉而占據(jù)著廣泛的市場。下表3.1為SMC1602A液晶屏物理特性:表3.1SMC1602A液晶屏物理特性外形尺寸80×36×14(mm)可視范圍64.6(W)×16.0(H)顯示容量16字符,2行點尺寸0.55×0.75(mm)點間距0.08(mm)SMC1602A字符型LCD型號通常配備14針或16針接口,額外的兩根線用于背光供電VCC(15號腳)和接地GND(16號腳)。盡管16針版本增加了兩條連線,但其控制機制與14針版本基本保持一致。詳細(xì)的SMC1602A液晶屏管腳功能如下表3.2所示。表3.2SMC1602A液晶屏管腳功能管腳號符號功能1VSS電源接地(GND)2VDD電源電壓(+5V)3V0LED驅(qū)動電壓(可調(diào))4RS寄存器選擇輸入端:1)輸入MPU選擇模塊內(nèi)部寄存器類型信號。RS=0,當(dāng)MPU進行寫模塊操作,指向指令寄存器;2)當(dāng)MPU進行讀模塊操作,指向地址計數(shù)器;RS=1,無論MPU進行讀操作還是寫操作,均指向數(shù)據(jù)寄存器。5R/W讀寫控制輸入端,輸入MPU選擇讀/寫模塊操作信號。當(dāng)R/W=0時進行讀操作,當(dāng)R/W=1時進行寫操作。6E使能信號輸入端,輸入MPU讀/寫模塊操作使能信號。讀操作時,高電平有效;寫操作時,下降沿有效。7DB0低4位三態(tài)、向數(shù)據(jù)總線0位(最低位)8DB1低4位三態(tài)、雙向數(shù)據(jù)總線1位9DB2低4位三態(tài)、雙向數(shù)據(jù)總線2位10DB3低4位三態(tài)、雙向數(shù)據(jù)總線3位11DB4高4位三態(tài)、雙向數(shù)據(jù)總線4位12DB5高4位三態(tài)、雙向數(shù)據(jù)總線5位13DB6高4位三態(tài)、雙向數(shù)據(jù)總線5位14DB7高4位三態(tài)、雙向數(shù)據(jù)總線7位(最高位)15A背光電源正端+5V16K背光電源負(fù)端0V這款液晶模塊的核心組成部分是內(nèi)置的字符存儲器(CGROM),它儲存了大約160種獨特的點陣字符圖案,涵蓋了英文大小寫字母、阿拉伯?dāng)?shù)字、日本平假名以及常見的符號。每個字符都有其專屬的二進制編碼,確保與ASCII編碼體系兼容。例如,大寫的英文字符"A"的編碼為二進制01000001B(在十六進制下對應(yīng)41H),當(dāng)模塊接收到地址41H的指令時,便會顯示出字符"A"。更詳細(xì)的字符映射可以查閱SMC1602LCD的ASCII十六進制對照表。下圖3.10和圖3.11分別為液晶顯示電路的原理圖和實物圖:圖3.10液晶顯示電路原理圖圖3.11液晶顯示電路實物圖3.6土壤濕度檢測電路設(shè)計本設(shè)計測量土壤的濕度擬采用的是土壤濕度檢測傳感器YL-69。而傳感器作為一種特殊設(shè)備,能夠敏銳地感知預(yù)設(shè)的物理參數(shù),并通過特定規(guī)律將其轉(zhuǎn)化為可利用的信號輸出。通常,傳感器由對目標(biāo)物理量有直接反應(yīng)的敏感元件,以及負(fù)責(zé)信號轉(zhuǎn)化的轉(zhuǎn)換元件和相關(guān)的電子電路構(gòu)成。對傳感器的歸類是多種多樣的,按照其構(gòu)成區(qū)分,包括基本型、結(jié)合型和功能型三類傳感器;而基于工作原理區(qū)分可涵蓋結(jié)構(gòu)型、物理性質(zhì)型、復(fù)合型和生物特性型傳感器;依據(jù)其功能行為可分為主動式和被動式傳感器;而依據(jù)其能量轉(zhuǎn)換方式可區(qū)分為能量轉(zhuǎn)換型傳感器和能量控制型傳感器;最后,按其輸出信號類型,如溫度、氣壓、濕度、流量、速度、磁場和光強度等都有專門的傳感器[21]。本設(shè)計的濕度測量工作主要依賴于濕度傳感器YL-69來完成。設(shè)計中將濕度傳感器視作一個可調(diào)控的電阻器,其電阻值會隨濕度的改變而變動。當(dāng)濕度最低時,其電阻值可達10千歐姆,而在濕度最高時則降至0.1歐姆,這種變化幅度完全取決于傳感器所捕捉的濕度數(shù)值。隨著電阻值的調(diào)整,電路中的輸出電壓也隨之響應(yīng),通過精確調(diào)整電阻,便能滿足電路所需的不同電壓范圍。本設(shè)計采用的YL-69土壤濕度傳感器憑借其創(chuàng)新的鍍鎳工藝,顯著增強了其傳感區(qū)域的性能,這不僅提高了導(dǎo)電效率,而且還有效地抵御了土壤侵蝕帶來的銹蝕風(fēng)險,從而顯著延長了設(shè)備的使用壽命。這款傳感器以其廣泛的調(diào)控范圍,可以精確地利用ADC0832將檢測的數(shù)據(jù)進行模擬到數(shù)字的轉(zhuǎn)化,確保了測量結(jié)果的精準(zhǔn)度。此外其設(shè)計巧妙,采用了簡潔的三線連接模式,只需簡單地將VCC連接到3.3V~5V電源,GND連接到數(shù)字地就可以正常運行。而AO接口則無縫對接到AD轉(zhuǎn)換通道,這極大地簡化了用戶的操作。為了提升安裝便利性,YL-69傳感器還特別配備了標(biāo)準(zhǔn)的固定螺絲孔。此外還需特別說明的是,裝置中的藍色可調(diào)電阻器實質(zhì)上是土壤濕度閾值的精細(xì)控制器,其順時針旋轉(zhuǎn)會提升設(shè)定的濕度閾值,反向則降低;而數(shù)字化輸出AO接口設(shè)計巧妙,直接無縫對接單片機,以便實時監(jiān)控土壤的濕度狀況;至于土壤濕度的模擬到數(shù)字轉(zhuǎn)換,則是由高效能的ADC0832芯片來執(zhí)行這一關(guān)鍵步驟。下圖3.12為土壤濕度傳感器的原理圖,而圖3.13為其實物圖。圖3.12土壤濕度檢測電路原理圖圖3.13土壤濕度檢測電路實物圖3.7光照強度檢測電路設(shè)計本設(shè)計的光照強度檢測電路的設(shè)計的核心是光敏電阻。光敏電阻是一種特殊的電阻元件,由硫化鎘或硒化鎘等半導(dǎo)體材料構(gòu)成,其工作機制是基于半導(dǎo)體的光電導(dǎo)效應(yīng)[22]。這種電阻的阻值會隨著照射光線的強度變化而變化,光線越強,電阻值越低。當(dāng)照射光增強時,其電阻值會相應(yīng)下降,直至極低,可能低至千歐姆級別以下。而光敏電阻的特性使其對光線極其敏感,處于無光環(huán)境時,其電阻值通常高達1.5兆歐姆以上。由于其獨特的光電特性,光敏電阻在科技應(yīng)用中有著廣泛的用途。此外光敏電阻在其他多個領(lǐng)域也展現(xiàn)了其廣泛應(yīng)用,特別是光度測量、光信號操控以及光電信號轉(zhuǎn)換方面?,F(xiàn)常見的光敏元件為硫化鎘光敏電阻,其對可見光(人眼感知范圍約為0.4至0.76微米)的敏感度與人眼相近,任何能為人眼察覺的光波都能影響其電阻值。在設(shè)計光控電路時,往往選擇常見的白熾燈泡或自然光作為操作光源,這大大簡化了設(shè)計過程。下圖3.14和圖3.15所示的光照強度檢測電路中展示的光敏電路同樣依賴于AD轉(zhuǎn)換技術(shù),而添加電位器是為了通過電位器進行實時校準(zhǔn),以適應(yīng)實際光照條件。例如,如果當(dāng)前光照強度為50%,用戶希望調(diào)整到60%,只需通過電位器調(diào)整就可以實現(xiàn)這一目標(biāo)了。圖3.14光照強度檢測電路原理圖圖3.15光照強度檢測電路實物圖3.8溫度檢測電路設(shè)計本設(shè)計為實現(xiàn)土壤溫度的檢測,使用的是DS18B20溫度傳感器。在第二章中已經(jīng)介紹了DS18B20溫度傳感器的優(yōu)勢、配置方式及結(jié)構(gòu)框圖。DS18B20溫度傳感器的工作原理是利用溫度變化對內(nèi)置震蕩器頻率的影響來實現(xiàn)精確測溫的。而其具備兩個特性各異的震蕩器,其中一個具有較低溫度敏感性的震蕩器生成的時間脈沖會在由高靈敏度震蕩器設(shè)定的門控周期內(nèi)進行計數(shù)。通過計數(shù)結(jié)果,系統(tǒng)可以推算出溫度。初始狀態(tài),計數(shù)器設(shè)置在一個固定點,對應(yīng)于-55℃的基準(zhǔn)值。如果計數(shù)在高靈敏度震蕩器的門周期結(jié)束前降至零,這表明當(dāng)前溫度高于-55℃,此時溫度寄存器的預(yù)設(shè)值會相應(yīng)增加一個恒定增量。為了修正非線性誤差,計數(shù)器會根據(jù)斜率累加器的調(diào)整進行預(yù)設(shè),并重新啟動計數(shù)進程,直到門周期結(jié)束。當(dāng)這個周期結(jié)束,溫度寄存器記錄的實際溫度以16位二進制補碼形式存儲在內(nèi)存中。主設(shè)備通過發(fā)送讀取指令,獲取并解析這些數(shù)據(jù),通過反向處理和十進制轉(zhuǎn)換,最終獲得準(zhǔn)確的溫度讀數(shù)。之所以選用DS18B20溫度傳感器作為本設(shè)計的測溫核心器件,是因為DS18B20是DS1820的新一代產(chǎn)品,通常采用TO-92封裝,比

PR-35封裝的

DS1820

更緊湊。而且該設(shè)備具備三條外部連接線:用于單線數(shù)據(jù)傳輸?shù)腄Q端口、共用的接地線GND,以及外部電源輸入線VDD。

??DS18B20傳感器支持兩種供電選擇:一是數(shù)據(jù)線供電模式通過將VDD接地并利用內(nèi)置儲能元件在空閑時從數(shù)據(jù)線獲取能量以執(zhí)行溫度轉(zhuǎn)換,盡管這可能導(dǎo)致響應(yīng)時間延長。為了優(yōu)化時鐘周期內(nèi)的電流供應(yīng),一般會借助MOSFET開關(guān)和微處理器的I/O接口進行對DS18B20總線的有效下拉控制。相比之下,第二種選擇是外部電源模式,即VDD連接到+5V電壓源,此模式下的溫度測量過程更為迅速和高效。

??用數(shù)據(jù)線寄生供電供電端要接地,是為讓總線空閑時保持高電平,以便為傳感器實施動態(tài)儲能。而當(dāng)環(huán)境溫度過100攝氏度閾值時,DS18B20的熱態(tài)特性導(dǎo)致其漏電流顯著增長,這時僅憑I/O線路獲取的微弱電流已無法滿足設(shè)備正常通信所需電流。因此在高溫條件下,轉(zhuǎn)向外部電源模式就尤為迫切。寄生電源模式雖節(jié)省了一根導(dǎo)線,但其溫度測量過程較為耗時,而外部電源模式則能實現(xiàn)更快的測量。下圖3.16為此溫度傳感器的測溫原理:圖3.16DS18B20測溫原理在此測溫原理之上便可設(shè)計出系統(tǒng)的溫度檢測電路圖了,如下圖3.17和圖3.18為溫度檢測電路的原理圖和實物圖:圖3.17溫度檢測電路原理圖圖3.18溫度檢測電路實物圖3.9繼電器驅(qū)動電路設(shè)計繼電器,作為一種基礎(chǔ)的電子元件,其功能在于構(gòu)建輸入信號與輸出反應(yīng)之間的動態(tài)交互。在自動化控制環(huán)境中,它猶如一個微型開關(guān),以微弱電流控制強大電流的流動,實現(xiàn)自動化的切換與管理。它的作用包括自動調(diào)整、安全防護以及電路轉(zhuǎn)換等,確保系統(tǒng)的穩(wěn)定運行。當(dāng)設(shè)定的閾值條件——無論是電氣參數(shù)如電壓、電流,或是非電氣變量如溫度、壓力——被觸發(fā)時,繼電器會相應(yīng)地打開或關(guān)閉連接的輸出電路。繼電器憑借其快速響應(yīng)、高可靠性、長壽命以及緊湊的結(jié)構(gòu),廣泛應(yīng)用于電力保護、自動化設(shè)備、運動控制、遠(yuǎn)程操作、測量系統(tǒng)和通信技術(shù)等多個領(lǐng)域。本設(shè)計中采用繼電器作為核心控制器,巧妙地操控外部設(shè)備的運行流程。通過在繼電器接口處附加負(fù)載電路,實現(xiàn)了對水泵和光照補償系統(tǒng)的精確調(diào)控。當(dāng)繼電器接通電源時,水泵得以啟動,為植物提供水分管理、溫度調(diào)節(jié)以及光照支持。因此,繼電器的運用簡化了整個操作過程,只需簡單的開關(guān)指令即可實現(xiàn)復(fù)雜任務(wù)。其中本設(shè)計使用的繼電器類型為電磁繼電器。其電磁開關(guān)主要由核心組件、繞組、磁鐵杠桿和觸點彈簧構(gòu)成。當(dāng)在繞組兩端施加適當(dāng)?shù)碾妷海娏骶蜁鹘?jīng)其中,引發(fā)電磁效應(yīng),使得磁鐵杠桿在電磁力的驅(qū)動下,對抗彈簧的反彈,緊密地吸附到核心組件上,進而促使磁鐵杠桿的活動觸點與靜止觸點(即初始斷開的觸點)實現(xiàn)接觸。一旦電源斷開,電磁吸引力隨即消逝,磁鐵杠桿會在彈簧的作用下回歸原位,使得活動觸點與先前的靜止觸點(常態(tài)閉合的觸點)分離[23]。通過這樣的吸合與釋放過程,電磁開關(guān)實現(xiàn)了在電路中的開關(guān)控制。區(qū)分觸點的狀態(tài)是這樣的:在未通電時保持?jǐn)嚅_狀態(tài)的靜止觸點被稱為“常開觸點”,而處于連接狀態(tài)的則稱為“常閉觸點”。通常,電磁開關(guān)包含兩個獨立的路徑,一是低電壓控制線路,二是承載高電壓的工作線路。下圖3.19為電磁繼電器工作原理和特性圖:圖3.19繼電器工作原理圖本設(shè)計中使用到繼電器的模塊為水泵灌溉模塊以及光照補償模塊兩個部分,其電路原理圖基本一樣。如下圖3.20和圖3.21所示分別為水泵模塊和光照補償模塊原理圖和實物圖:圖3.20水泵模塊和光照補償模塊繼電器工作原理圖圖3.21水泵模塊和光照補償模塊繼電器工作實物圖3.10蜂鳴報警電路設(shè)計本設(shè)計蜂鳴報警電路使用的是三極管S8050,由于在STM32單片機的設(shè)計中,當(dāng)系統(tǒng)處于無水源狀態(tài)時,我們會利用其內(nèi)置的智能功能來觸發(fā)蜂鳴器的緊急警報??紤]到STM32的供電特性,它默認(rèn)的引腳配置為高電平,因此不適合直接驅(qū)動像S8550這樣的三極管,因為8550適用于低電平信號而STM33則不然。為了實現(xiàn)蜂鳴器的報警,我們采用三極管8050作為開關(guān)元件,通過施加高電平控制其開啟。而三極管8050在此場景中扮演了電流放大器的角色[24],其可增強微弱電信號,使其強度200倍,同時保護蜂鳴器免受過載影響。所以特別挑選了一款具備5伏特工作電壓的蜂鳴器,其設(shè)計巧妙,無需額外的上拉電阻,P3接口就能直接驅(qū)動。一旦來自單片機的IO信號經(jīng)由路徑傳輸,要先先通過一個設(shè)置的1千歐姆電阻,然后與NPN型三極管S8050的基極建立起連接。而PNP三極管的發(fā)射極則牢固地錨定在穩(wěn)定的5伏電源上。三極管集電極與蜂鳴器正極相連,負(fù)極接地。計算后需要一個約為0.7k歐姆的電阻,這里選用1k歐姆的電阻作為安全措施。這樣,當(dāng)控制信號傳遞時,蜂鳴器就能適時發(fā)出警告,確保系統(tǒng)的正常運行。下圖3.22和圖3.23分別為蜂鳴報警電路的原理圖和實物圖:圖3.22蜂鳴報警電路原理圖圖3.23蜂鳴報警電路實物圖3.11WIFI無線通信電路設(shè)計在本設(shè)計中為實現(xiàn)實時數(shù)據(jù)和參數(shù)的無線傳輸至用戶的移動設(shè)被,因此選用了先進的無線通信解決方案——WIFI模塊。而為了達成這一目標(biāo),采用的是ESP8266無線串口模塊這一超低功耗的UART-WiFi透傳模塊,并將其作為主要的數(shù)據(jù)傳輸組件,。這一模塊因其卓越的特點能夠脫穎而出,由于其具備極低的能耗,能提供遠(yuǎn)距離通信,且性價比極高,小巧的體積和高度集成的設(shè)計而使其能夠適用于各種嵌入式應(yīng)用。ESP8266內(nèi)置了強大的LWIP協(xié)議,支持AP、STA以及AP+STA三種模式[25],操作簡單且效率高,只需3.3V的工作電壓即可驅(qū)動,這使得單片機的5V供電就能輕松滿足其需求。將其部署在單片機與手機應(yīng)用程序之間,負(fù)責(zé)傳輸實時的溫濕度和光照強度信息,最后這些數(shù)據(jù)會在移動端APP上清晰展示,并可通過APP進行遠(yuǎn)程操控。ESP8266共八個Pin腳,其各個Pin腳的具體功能說明如表3.3所示:表3.3ESP8266無線串口模塊各Pin腳功能管腳號Pin腳名稱功能說明1GNDGND2GPIO2通用IO,內(nèi)部已上拉3GPIO0工作模式選擇:1)懸空:FlashBoot,工作模式2)下拉:UARTDownLoad,下載模式4RXD串口0數(shù)據(jù)接收端RXD5VCC3.3V,模塊供電6RST1)外部復(fù)位管腳,低電平復(fù)位2)可以懸空或者接外部MCU7CH_PD芯片使能,高電平使能,低電平使能8TXD串口0數(shù)據(jù)發(fā)送端TXD如下圖3.24展示了ESP8266模塊的連接方式:1號引腳連接單片機的RXD(接收數(shù)據(jù))接口,2號、4號和8號引腳接地,而5號引腳則與TXD(發(fā)送數(shù)據(jù))接口相連。圖3.24WIFI無線通信電路原理圖下圖3.25為ESP8266無線串口模塊的實物圖圖3.25ESP8266無線串口模塊的實物圖3.12本章小結(jié)本章主要進行的是整個系統(tǒng)的各部分的硬件設(shè)計,涵蓋了單片機的基礎(chǔ)系統(tǒng)電路構(gòu)建、開關(guān)電源的布局設(shè)計、按鈕操作電路的規(guī)劃、液晶顯示屏的界面電路設(shè)計、土壤濕度測量電路的構(gòu)建、光線強度探測電路的安排、溫度監(jiān)測電路的設(shè)計、使用繼電器進行光補償及泵水管理的控制系統(tǒng)電路布局、預(yù)警提示的蜂鳴器電路設(shè)計以及集成的WIFI無線通訊電路等十個關(guān)鍵電路模塊。為了實現(xiàn)各電路的功能,設(shè)計先從整體的原理圖框架在細(xì)致區(qū)分到每個模塊,從選擇器件到各器件引腳功能分析,然后繪制出各個部分的原理圖,最后將各部分原理圖連接至STM32單片機的各個引腳,從而完成了原理圖的繪制,然后根據(jù)原理圖繪制PCB板,制板后將各部分基礎(chǔ)元器件焊接,需要燒板部分等后續(xù)軟件編寫完成并燒板后再焊接組裝。硬件部分的設(shè)計完成使得系統(tǒng)設(shè)計有了完整的框架支持并且也為整個系統(tǒng)功能的實現(xiàn)提供了最基本的需求并由此得以繼續(xù)進行接下來軟件編寫的步驟。第四章系統(tǒng)軟件設(shè)計本章節(jié)主要描述整體的軟件程序以及各個子程序的工作流程圖,通過描述各子程序的工作原理和流程而明確各部分的功能。4.1主程序設(shè)計本設(shè)計策略側(cè)重于模塊化與結(jié)構(gòu)化的融合,以實現(xiàn)高效的功能拓展。軟件構(gòu)建過程中選用了C語言作為核心編程語言。濕度傳感器的工作原理是捕捉實時濕度數(shù)據(jù),然后將其編碼為二進制形式,通過三線接口傳輸至單片機。單片機利用采樣芯片的數(shù)據(jù),執(zhí)行精準(zhǔn)補償算法,確保獲取準(zhǔn)確的原始采樣值。這些信息隨后會被適當(dāng)?shù)貍鬟f至液晶顯示屏進行實時展示。系統(tǒng)啟動后,首先進行初始化并加載預(yù)設(shè)的濕度閾值警報范圍。程序流程的核心環(huán)節(jié)在于監(jiān)控按鍵操作,一旦檢測到按鍵觸發(fā),便會引導(dǎo)用戶進入界面設(shè)定上行報警界限。隨后,系統(tǒng)從濕度采樣芯片獲取二進制信號,經(jīng)過補償處理并轉(zhuǎn)化為精確數(shù)值。接下來,系統(tǒng)會對當(dāng)前濕度值進行連續(xù)監(jiān)測,一旦超出預(yù)設(shè)限制,便會激活蜂鳴器發(fā)出警報,只有當(dāng)環(huán)境濕度降至安全范圍內(nèi),報警才會自動解除。在工業(yè)過程控制領(lǐng)域,數(shù)據(jù)采集系統(tǒng)面臨著諸多復(fù)雜環(huán)境[26],諸如頻繁的干擾信號。這些干擾可能導(dǎo)致測量數(shù)據(jù)的準(zhǔn)確性受到影響,尤其在傳感器輸出的微弱信號中,干擾信號尤為明顯,成為數(shù)據(jù)采集的關(guān)鍵挑戰(zhàn)。因此,為了保證數(shù)據(jù)的可靠性,系統(tǒng)在硬件層面,如電源管理、接地設(shè)計以及去耦電路中,采用了單片機的上電復(fù)位策略。而在軟件層面,則引入了高級抗干擾策略,旨在有效抵御和消除潛在干擾影響。本設(shè)計在以上思路指導(dǎo)下,選用了Keil5作為核心的軟件開發(fā)平臺,這是由全球知名公司KeilSoftware專為32位單片機設(shè)計的高級C語言開發(fā)環(huán)境。相較于匯編語言,C語言以其全面的功能特性、清晰的結(jié)構(gòu)設(shè)計、卓越的可讀性和維護性而獨占鰲頭。KeilC51軟件不僅提供了豐富的內(nèi)置庫函數(shù),而且其集成開發(fā)調(diào)試工具強大且用戶友好,具備全Windows操作界面的便利性。尤為值得一提的是,通過觀察編譯后的目標(biāo)代碼,用戶可以直觀地感受到Keil5在代碼生成效率上的卓越表現(xiàn)[27],其生成的C語言代碼簡潔高效,易于解讀,充分展示了其技術(shù)優(yōu)勢。下圖4.1為本設(shè)計的主程序流程圖:圖4.1主程序設(shè)計流程圖4.2溫度采集子程序設(shè)計溫度采集程序涉及操作DS18B20溫度傳感器,該過程通過I/O接口與STM32微控制器進行數(shù)據(jù)交互,并在LED液晶屏上展示。首先執(zhí)行I/O端口的初始化,隨后對DS18B20進行復(fù)位以恢復(fù)其原始狀態(tài)并等待響應(yīng)。從DS18B20獲取的溫度數(shù)據(jù)會被轉(zhuǎn)換,然后寫入DS18B20的微控制器,最后終止子程序。配置流程示意如圖4.2溫度采集子程序流程圖所示:圖4.2溫度采集子程序流程圖DS18B20溫度采集的初始化流程包含以下詳細(xì)步驟:1、首先,確保數(shù)據(jù)線路被穩(wěn)定地設(shè)置為邏輯高位"1",作為信號的預(yù)置狀態(tài)。2、實施一個短暫但相對靈活的延時操作(對延遲時間精度要求不高,但應(yīng)盡量短)。3、迅速將數(shù)據(jù)線拉低至邏輯低位"0",觸發(fā)特定的通信序列。4、保持一段固定但可變的延遲區(qū)間,大約在480至960微秒之間。5、再次將數(shù)據(jù)線恢復(fù)至高位"1"。6、進入延遲等待狀態(tài)。7、如果CPU檢測到數(shù)據(jù)線上的"0"信號,系統(tǒng)會自動延長等待時間,從上一步驟的高位"1"開始計時,至少等待480毫秒。8、經(jīng)過這一系列判斷和調(diào)整后,數(shù)據(jù)線再次置為高位"1",完成初始化。4.3土壤濕度及光照強度子程序設(shè)計本部分的設(shè)計主要依賴于傳感器讀取數(shù)據(jù)后進行的AD轉(zhuǎn)換過程。由于土壤濕度和光照強度的測量均依賴于單片機內(nèi)部的AD轉(zhuǎn)換器,所以其編程邏輯大體相同,僅有的區(qū)別在于選取的AD通道不同。在獲取到最新的土壤濕度和光照強度數(shù)據(jù)后,這些模擬信號會被送入單片機的AD引腳后進行處理。在初始化步驟完成后,通過數(shù)模轉(zhuǎn)換來得到實時數(shù)值[28]。此設(shè)計中選取了B0和B1引腳。接著,數(shù)據(jù)以8位字節(jié)的形式逐位讀取,將接收到的信號轉(zhuǎn)化為數(shù)字形式,并進一步轉(zhuǎn)化為對應(yīng)的電壓值。首先對ADC引腳進行初始化,隨后ADC開始讀取并轉(zhuǎn)化數(shù)據(jù),從最高有效位開始逐一輸出。具體流程如下圖4.3所示:圖4.3溫度采集A/D轉(zhuǎn)換程序流程圖4.4LCD液晶顯示子程序設(shè)計本設(shè)計涉及的液晶顯示模塊,其運作步驟如下:LCD1602液晶屏接通電源后,首要任務(wù)是執(zhí)行初始化,包括清除屏幕并清空內(nèi)部存儲器。隨后,它與單片機展開雙向通信,預(yù)設(shè)顯示信息。在適當(dāng)延遲后,單片機向LCD發(fā)送指令以寫入數(shù)據(jù)。初始化完成后,讀取字節(jié)信息,由單片機負(fù)責(zé)調(diào)整屏幕亮度及顯示內(nèi)容。經(jīng)過一定延時,單片機將監(jiān)測到的溫度、濕度及光照讀數(shù)呈現(xiàn)在屏幕上。在設(shè)定溫濕度和光照強度的警告閾值時,按鍵操作會即時更新這些數(shù)值。單片機通過控制寫入引腳發(fā)送顯示內(nèi)容的命令。接著,LCD1602依據(jù)指令顯示相應(yīng)信息。LCD1602的顯示流程示意如圖4.4所示:圖4.4LCD液晶顯示子程序流程圖4.5按鍵設(shè)置子程序設(shè)計該操控單元配置了四根引腳,但存在一對重復(fù),僅需鏈接其中兩個即可實現(xiàn)線路集成。其核心的按鍵操作原理其實是一種依賴于電平轉(zhuǎn)換的識別。當(dāng)按鍵被按下,單片機的輸入或輸出端口會感知到一個明顯的低電位狀態(tài)轉(zhuǎn)變。這一電平的微妙變動便會激活預(yù)設(shè)的程序指令鏈。為了確定按鍵是否按壓以及消除抖動[29],程序會進行相應(yīng)處理。這四個按鍵各自代表加、減、設(shè)定和模式切換四種功能。在切換至手動模式時,K3鍵和K4鍵能夠分別用作控制照明、控制水泵以及數(shù)據(jù)的減少和增加。每個功能都由獨立的函數(shù)來執(zhí)行,并通過延時操作避免可能出現(xiàn)的誤操作。按鍵還可用于設(shè)定不同的警報參數(shù)范圍。而按鍵子程序流程如圖4.5所示:圖4.5按鍵設(shè)置子程序流程圖4.6蜂鳴報警子程序設(shè)計主程序運行期間,會持續(xù)檢查參數(shù)是否符合預(yù)設(shè)條件。若參數(shù)超出范圍,系統(tǒng)會啟動蜂鳴器報警信號。這個報警系統(tǒng)利用蜂鳴器構(gòu)建,其工作原理與常見的家用電器喇叭有相通之處。值得注意的是,蜂鳴器通常需要較大工作電流,而電路中的TTL邏輯門無法直接驅(qū)動它[30],因此需要增設(shè)一個電流放大環(huán)節(jié)。為此,設(shè)計引入了一個三極管來增強流經(jīng)蜂鳴器的電流。蜂鳴器的正極連接到三極管上,并且為了防止三極管意外導(dǎo)通還串聯(lián)了一個1K歐姆的限流電阻。單片機的IO口輸出高電平時,三極管導(dǎo)通,使蜂鳴器電流循環(huán),進而發(fā)聲。反之,當(dāng)IO口為低電平時,三極管截止,蜂鳴器停止發(fā)聲。下圖4.6為蜂鳴報警系統(tǒng)的子程序流程圖:圖4.6蜂鳴報警子程序流程圖4.7WIFI無線通訊子程序設(shè)計4.7.1WIFI無線通訊子程序本設(shè)計中選用了ESP8266作為無線通信模塊,該模塊通過串行接口與單片機進行通信,運用特定的AT命令集實現(xiàn)數(shù)據(jù)的無線傳輸,主要是利用其內(nèi)置的WIFI熱點功能實現(xiàn)。ESP8266工作電壓范圍為3至3.6V,最大輸出功率為20DBM,峰值電流達到240毫安。系統(tǒng)設(shè)定的波特率為115200。因此,只需連接3.3V電源、地線、TXD和RXD引腳,就能使模塊與單片機互動,同時,手機端也能接收到經(jīng)WIFI發(fā)送的數(shù)據(jù)[31]。其主要流程為程序啟動時,首先設(shè)定波特率115200,將WIFI模式設(shè)定為接入點(AP)模式,設(shè)定熱點的名稱和密碼。接著,通過串行端口發(fā)送指令,開啟多連接配置,允許一個或多個ESP8266向手機端發(fā)送數(shù)據(jù),指定服務(wù)器端口為8080。隨后,進入數(shù)據(jù)發(fā)送階段,直至發(fā)送完畢。下圖4.7為WIFI無線通信子程序的流程圖:圖4.7WIFI無線通訊子程序流程圖4.7.2WIFI無線通訊APP設(shè)計為了方便手機端接受信息設(shè)計了一款便捷的手機APP得以實現(xiàn)在移動端接受系統(tǒng)實時的數(shù)據(jù)情況并可以通過移動端控制系統(tǒng)的模式。此功能主要通過ESP8226STA模式配置WIFI模塊IP接口并使用AT指令配置ESP8226模塊。然后在設(shè)計的APP應(yīng)用程序添加ESP8226生成的IP接口,然后連接到ESP8226模塊的WIFI網(wǎng)絡(luò),并通過TCP/IP協(xié)議發(fā)生和接受數(shù)據(jù)。下圖4.8為主要設(shè)計流程框圖:圖4.8ESP8226模塊與APP的WIFI連接流程圖APP頁面的設(shè)計圖如下圖4.9所示:圖4.9APP頁面展示圖4.8本章小結(jié)本章節(jié)中對整個系統(tǒng)的各模塊具體流程做了詳細(xì)報告,同時對各部分的軟件工作過程進行了描述。在此設(shè)計中主程序通過協(xié)調(diào)各個子程序確保系統(tǒng)的穩(wěn)定性和其功能的順利實現(xiàn)。在各個子程序中,溫度采集模塊的主要功能是采集土壤溫度數(shù)值并傳送到主程序。而土壤的濕度以及光照強度采集的子程序主要功能是監(jiān)控土壤水分與光強,從而做出相應(yīng)的調(diào)節(jié)與調(diào)控。而LCD顯示模塊主要將采集到的數(shù)據(jù)及系統(tǒng)運行情況以直觀的方式呈現(xiàn)在用戶面前。然后用戶可以通過按鍵模塊實現(xiàn)對測量閾值的調(diào)整,而在整個主程序運行過程中,每一次的數(shù)據(jù)監(jiān)測采集傳輸都會經(jīng)過蜂鳴報警系統(tǒng)的監(jiān)控,一旦超過閾值便會工作。此外,WIFI無線通信子系統(tǒng)的設(shè)計主要任務(wù)是為了完成對外部設(shè)備及網(wǎng)絡(luò)的無線通訊,從而對系統(tǒng)進行遠(yuǎn)程監(jiān)視。整個程序的設(shè)計重心為提升系統(tǒng)的模塊化和可擴充性之上。而APP的設(shè)計更是添加了整個系統(tǒng)的便捷。通過這一整個部分的研究使得后續(xù)的系統(tǒng)產(chǎn)品測試會更加順利。第五章系統(tǒng)功能測試本章介紹了整個設(shè)計所使用的編程語言及軟件的選擇,以及最終的產(chǎn)品效果展示和運行測量結(jié)果。5.1編程語言及軟件選擇本設(shè)計采用的總體編程語言為C語言編程。由于在目前的MCU設(shè)計中,C語言有其獨特的優(yōu)越性。它具有很強的可移植性,可以實現(xiàn)同一程序在多個微控制器上的并行,并通過編譯器產(chǎn)生高效率的程序代碼來保證系統(tǒng)的性能。強大的軟件支持,豐富的類庫,使開發(fā)者可以迅速地完成不同的功能。因此,C語言得到了越來越多的重視和應(yīng)用。而本設(shè)計編程軟件是Keil。由于隨著科技的飛速發(fā)展,單片機開發(fā)手段經(jīng)歷了顯著變遷,從早期的匯編語言逐漸被高級編程語言所取代,其中,Keil軟件作為行業(yè)的領(lǐng)頭羊,正日益受到廣泛接納。這款由美國KeilSoftware匠心打造的開發(fā)工具,如今主導(dǎo)了單片機如STM32(以及與MSC-51指令兼容的其他型號)的軟件開發(fā)潮流[32]。Keil以其卓越的性能和全面的功能脫穎而出,無論是通過匯編還是C語言都能支持高效的應(yīng)用程序設(shè)計。而Keil軟件內(nèi)置了豐富多樣的庫函數(shù)和強大的集成開發(fā)調(diào)試工具,涵蓋了C編譯器、宏匯編、鏈接器和庫管理等全套開發(fā)流程,這一切都通過其一體化的開發(fā)環(huán)境——uVision,無縫融合。它的用戶界面簡潔易懂,完全基于Windows平臺,使得新手也能迅速上手。值得一提的是,即便在使用高級語言進行開發(fā)時,Keil生成的目標(biāo)代碼也保持了極高的效率,其生成的C代碼通常緊湊且高效??偟膩碚f,Keil軟件憑借其卓越的性能和友好的用戶體驗,已經(jīng)成為單片機開發(fā)領(lǐng)域的首選工具。作為本設(shè)計的核心繪圖軟件AltiumDesigner,AD目前MCU設(shè)計行業(yè)中非常受歡迎的一款軟件,具有很好的集成性和完善的設(shè)計環(huán)境。利用大量的元器件庫及強大的模擬能力,使設(shè)計者可以快速、有效地進行產(chǎn)品的設(shè)計,同時利用板級的設(shè)計與調(diào)試手段,確保了產(chǎn)品的品質(zhì)[33]。另外,AD還支持團隊合作,使得多個人能夠一起完成一個項目,從而提升團隊合作的效率。最后本設(shè)計中還用到了AndroidStudio設(shè)計了一款簡單的手機APP通過WIFI連接與ESP8226實現(xiàn)連接控制,而AndroidStudio作為現(xiàn)在主流的APP制作軟件,其豐富強大的功能使得移動端訪問ESP8226端口實現(xiàn)移動接受數(shù)據(jù)控制單片機系統(tǒng)更加簡單方便。5.2元器件清單整個系統(tǒng)中所使用到的所以硬件器件如下表5.1所示:表5.1元器件清單規(guī)格名稱標(biāo)號數(shù)量1000UF電解電容C41IN4148/4007二極管D2,D1225528光敏光敏電阻D31按鍵按鍵K1,K2,K3,K44LEDLED指示燈LED5,LED63S8050三極管Q1,Q4,Q531K電阻R4,R10,R16,R32410K電阻R33110K電位器RT1,RT42LCD1602液晶顯示屏U21POW電源U21SWITCH開關(guān)U31YL-69土壤溫濕度U91JDQ-5繼電器U10,U322DS18B20溫度傳感器U111ESP8266WIFI模塊U141蜂鳴器蜂鳴器U1515V水泵U1915V燈U915.3實物調(diào)試在安裝工程啟動前,務(wù)必對所有部件進行全面質(zhì)量核查,確保其性能穩(wěn)定,尤其要嚴(yán)格核對晶體管的規(guī)格型號、電容器的耐壓等級及極性方向,務(wù)必遵循原理圖進行電路構(gòu)建,確保元件定位精確、極性正確且布局科學(xué)。整臺設(shè)備需保持清潔無塵,線路整潔有序。鑒于電路結(jié)構(gòu)的層次性,進而采取逐級安裝和逐級校準(zhǔn),再進行整體聯(lián)動調(diào)試的策略。在此過程中,示波器和萬用表是不可或缺的測量工具。以下是具體操作流程:首先,在完成了Keil軟件中的程序設(shè)計后,按照既定規(guī)范執(zhí)行編譯、鏈接和調(diào)試等步驟:(1)依據(jù)系統(tǒng)設(shè)計藍圖,精心連接所需的各個組件模塊。(2)深入研讀芯片手冊,理解每個組件的功能特性,以此為基礎(chǔ)開始測

溫馨提示

  • 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

提交評論