基于stm32的自動施肥機(jī)設(shè)計與實(shí)現(xiàn)_第1頁
基于stm32的自動施肥機(jī)設(shè)計與實(shí)現(xiàn)_第2頁
基于stm32的自動施肥機(jī)設(shè)計與實(shí)現(xiàn)_第3頁
基于stm32的自動施肥機(jī)設(shè)計與實(shí)現(xiàn)_第4頁
基于stm32的自動施肥機(jī)設(shè)計與實(shí)現(xiàn)_第5頁
已閱讀5頁,還剩31頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

摘要目前,針對于農(nóng)田灌溉、噴霧等自動化設(shè)備的研究已經(jīng)進(jìn)行了多年,并取得了不錯的成果。但是自動施肥機(jī)的研究還相對較少,所以我的畢業(yè)設(shè)計是一種基于STM32的自動施肥機(jī)的設(shè)計,探究其在農(nóng)業(yè)生產(chǎn)中的應(yīng)用。施肥機(jī)使用C語言寫主要代碼,采用WIFI的組網(wǎng)方式進(jìn)行無線網(wǎng)絡(luò)通信,實(shí)現(xiàn)數(shù)據(jù)的傳輸,以多種傳感器進(jìn)行測試數(shù)據(jù),使用了KEIL5軟件環(huán)境,單片機(jī)使用C語言完成下位機(jī)設(shè)計,采用HTML和JAVASCARIPT語言MYSQL完成系統(tǒng)上位機(jī)設(shè)計。系統(tǒng)通過機(jī)械臂和兩個舵機(jī)進(jìn)行三種肥料的挖取和施肥,從而實(shí)現(xiàn)我們的功能。其具有精準(zhǔn)、高效、安全等優(yōu)點(diǎn)。為農(nóng)業(yè)生產(chǎn)中新型農(nóng)機(jī)的開發(fā)提供了理論與實(shí)踐基礎(chǔ),有望不斷提高農(nóng)業(yè)自動化生產(chǎn)水平,降低勞動成本,提高農(nóng)業(yè)生產(chǎn)效率。關(guān)鍵詞:STM32;微控制器;自動施肥機(jī);智能農(nóng)業(yè)

ABSTRACTAtpresent,theresearchonautomaticequipmentsuchasfarmlandirrigationandsprayhasbeencarriedoutformanyyears,andgoodresultshavebeenachieved.However,thereisrelativelylittleresearchonautomaticfertilizationmachines,somygraduationprojectisadesignofanautomaticfertilizationmachinebasedonSTM32,exploringitsapplicationinagriculturalproduction.ThefertilizerapplicatorusesClanguagetowritethemaincode,usesWIFInetworkingforwirelessnetworkcommunication,achievesdatatransmission,usesmultiplesensorsfortestingdata,usesKEIL5softwareenvironment,themicrocontrollerusesClanguagetocompletethelowercomputerdesign,andusesHTMLandJAVASCARIPTlanguageMYSQLtocompletethesystemuppercomputerdesign.Thesystemusesaroboticarmandtwoservomotorstoexcavateandfertilizethreetypesoffertilizers,therebyachievingourfunctions.Ithasadvantagessuchasprecision,efficiency,andsafety.Itprovidesatheoreticalandpracticalbasisforthedevelopmentofnewagriculturalmachineryinagriculturalproduction,andisexpectedtocontinuouslyimprovethelevelofagriculturalautomationproduction,reduceLaborburden,andimproveagriculturalproductionefficiency.Keywords:STM32;microcontroller;automaticfertilizationmachine;smartagriculture目錄第1章緒論 11.1研究背景 11.2研究現(xiàn)狀 11.2.1國內(nèi)現(xiàn)狀 11.2.2國外現(xiàn)狀 21.3研究內(nèi)容 2第2章自動施肥機(jī)的原理與設(shè)計 32.1施肥機(jī)的工作原理 32.2STM32的自動控制設(shè)計介紹 32.3STM32技術(shù)介紹 42.4施肥機(jī)的結(jié)構(gòu)設(shè)計介紹 52.4.1傳感器介紹 52.4.2網(wǎng)絡(luò)通訊介紹 52.4.3肥料存儲介紹 52.4.4電機(jī)介紹 62.4.5顯示屏介紹 6第3章硬件設(shè)計 73.1系統(tǒng)總體設(shè)計圖 73.1.1系統(tǒng)總體設(shè)計 73.2傳感器的選擇與使用 93.2.1溫度傳感器 93.2.2濕度傳感器 113.2.3土壤電導(dǎo)率傳感器 123.3電機(jī)的選擇與使用 143.4led燈設(shè)計與實(shí)現(xiàn) 153.5數(shù)據(jù)傳輸設(shè)計與使用 16第4章軟件設(shè)計 184.1系統(tǒng)架構(gòu)與程序設(shè)計 184.2用戶界面開發(fā) 194.3傳感器數(shù)據(jù)采集與處理 214.4控制算法設(shè)計 214.5Mysql數(shù)據(jù)設(shè)計 21第5章實(shí)驗(yàn)與測試 245.1實(shí)驗(yàn)環(huán)境與設(shè)備 245.2實(shí)驗(yàn)流程與結(jié)果分析 255.3系統(tǒng)性能評估 25第6章總結(jié)與展望 276.1結(jié)論與啟示 276.2未來研究方向 28參考文獻(xiàn) 29致謝 30附錄 31第1章緒論1.1研究背景目前,隨著農(nóng)業(yè)技術(shù)的不斷發(fā)展,自動化施肥技術(shù)也得到了快速發(fā)展。吳松等人設(shè)計的通過管路連接到灌溉系統(tǒng)的施肥機(jī)和周舟等人研制的移動式溫室精準(zhǔn)施肥機(jī),都實(shí)現(xiàn)了自動化施肥。然而,針對任意含水率的農(nóng)家肥進(jìn)行施肥的機(jī)械還未得到有效解決。因此,開發(fā)一種機(jī)、電、液一體化的自動施肥機(jī),實(shí)現(xiàn)對任意含水率農(nóng)家肥的均勻施肥,具有非常重要的現(xiàn)實(shí)意義。但我國面臨要以僅占有世界9%的可耕用土地、6%的淡水資源生產(chǎn)出占世界25%的農(nóng)產(chǎn)品,養(yǎng)活的人口占有總?cè)丝跀?shù)量的20%,水土資源約束形勢嚴(yán)峻[1]。現(xiàn)有問題是,目前我國還沒有一種能夠?qū)θ我夂兽r(nóng)家肥進(jìn)行均勻施肥的機(jī)械。傳統(tǒng)的施肥方法需要人工進(jìn)行,效率低下,且難以保證施肥的均勻性。因此,研發(fā)一種能夠?qū)Σ煌实霓r(nóng)家肥進(jìn)行均勻施肥的自動施肥機(jī),是當(dāng)前急需解決的問題。針對這一問題,本文采用了基于STM32的自動施肥機(jī)研發(fā)方法。該方法通過機(jī)、電、液一體化的設(shè)計,實(shí)現(xiàn)了對任意含水率農(nóng)家肥的均勻施肥,并且支持拋灑施肥和混合施肥兩種方式,具有較高的實(shí)用性和適應(yīng)性。同時,該自動施肥機(jī)還實(shí)現(xiàn)了故障的自動檢測、報警和自修復(fù)控制,具有良好的安全性和穩(wěn)定性。本文提供了一種基于STM32的農(nóng)業(yè)灌溉泄漏監(jiān)測系統(tǒng)的解決方案,系統(tǒng)通過低功耗的物聯(lián)網(wǎng)傳感設(shè)備獲取管道振動信息,并采用支持向量機(jī)算法對數(shù)據(jù)進(jìn)行分析,從而及時獲取管道泄漏狀態(tài),以及泄漏的位置[2]。本文的研究意義在于,研發(fā)了一種能夠?qū)θ我夂兽r(nóng)家肥進(jìn)行均勻施肥的自動施肥機(jī),填補(bǔ)了國內(nèi)自動化施肥領(lǐng)域的空白。該自動施肥機(jī)不僅能夠廣泛應(yīng)用于現(xiàn)代果園施肥,還可用于西洋參、玉米、花生、小麥等大片農(nóng)作物的耕地施肥。下一步的研究重點(diǎn)是實(shí)現(xiàn)施肥的智能化和無人化,提高農(nóng)作物施肥的效率和質(zhì)量,為農(nóng)業(yè)生產(chǎn)提供更加優(yōu)質(zhì)的技術(shù)支持。1.2研究現(xiàn)狀1.2.1國外現(xiàn)狀國外發(fā)達(dá)國家建立了較完整的信息網(wǎng)絡(luò),精準(zhǔn)變量施肥是當(dāng)今農(nóng)業(yè)生產(chǎn)作業(yè)的重要發(fā)展方向[2]。例如,以法國、日本、美國意大利等大型發(fā)達(dá)國家的農(nóng)業(yè)中的生成技術(shù)已經(jīng)比較成熟,他們已經(jīng)基本實(shí)現(xiàn)自動化生產(chǎn)。20世紀(jì)中期,美國設(shè)計并實(shí)現(xiàn)了世界上的以一個只能灌溉和施肥系統(tǒng),該杰作可以能將氮磷鉀三種不同的肥料注入施肥機(jī)機(jī)器內(nèi),將氮磷鉀三種肥料以最低損耗的方式準(zhǔn)確輸送給作物根部,該施肥能根據(jù)農(nóng)作物的需求以及作物種類提供不同的肥料,把肥料平均滴在作物根部附近。美國有一半以上的農(nóng)作物在使用水肥一體化的方式進(jìn)行農(nóng)業(yè)生產(chǎn),對于施肥方面的技術(shù)研究,美國其研發(fā)的水肥一體機(jī)已成為美國農(nóng)業(yè)生產(chǎn)必不可缺的一部分。1.2.2國內(nèi)現(xiàn)狀我國內(nèi)對現(xiàn)在的施肥研究很晚。至建國初期,我們農(nóng)業(yè)隨著對施肥技術(shù)的農(nóng)業(yè)重視及應(yīng)用推廣,通過我國的科學(xué)家的不斷努力和研究,將國內(nèi)外的技術(shù)和我們國家的不斷研究,終于在最近有了質(zhì)變的飛躍。在我們的2015年進(jìn)行自主設(shè)計了第一臺自動施肥機(jī)器,該施肥機(jī)可以自動控制三種肥料的使用和拿取,使用土壤的各種溫度和濕度傳感器進(jìn)行采集土壤信息,通過電腦進(jìn)行控制和顯示信息,能夠達(dá)到自動的接水以及自動的施肥的目的,據(jù)測試可以減少60%的肥料并且會達(dá)到120%的農(nóng)作物的結(jié)果,土壤不同形態(tài)氮素運(yùn)移轉(zhuǎn)化是一個復(fù)雜的生化過程,其影響因素眾多。本文在模擬時雖然考慮了不同因素對其的影響,但只是采用定值來模擬這個過程[3]。1.3研究內(nèi)容本文研究內(nèi)容為基于STM32的自動施肥機(jī)。自動施肥機(jī)是一種根據(jù)植物的生長需要,自動給植物提供肥料的設(shè)備。其主要作用是提高農(nóng)作物的產(chǎn)量,降低農(nóng)藥使用量,減少浪費(fèi),實(shí)現(xiàn)環(huán)保與可持續(xù)發(fā)展。本文針對傳統(tǒng)手動澆水、施肥方式存在的低效、難以控制、耗時費(fèi)力等問題,設(shè)計出一種基于STM32的自動化施肥機(jī)。本研究的目的是通過對自動施肥機(jī)的原理與設(shè)計進(jìn)行深入研究,探索出一種能夠高效、自動化地為植物提供肥料的解決方案。本文主要從硬件設(shè)計、軟件設(shè)計、實(shí)驗(yàn)與測試三個方面,展開對自動施肥機(jī)的研究。硬件設(shè)計方面,本文采用了STM32單片機(jī)作為控制核心,并選用電磁閥、水泵等電子元件進(jìn)行施肥機(jī)的搭建。軟件設(shè)計方面,本文通過STM32的單片機(jī)進(jìn)行控制各種電機(jī)、溫度等濕度施肥裝置,設(shè)計了自動運(yùn)行、手動運(yùn)行、和遠(yuǎn)程監(jiān)控等多種運(yùn)行模式。實(shí)驗(yàn)與測試方面,本文采用了多種植物進(jìn)行測試,對施肥機(jī)的性能、效果、安全性等進(jìn)行了嚴(yán)密的測試與評估。本研究的創(chuàng)新點(diǎn)在于,本文創(chuàng)新地使用了STM32單片機(jī)作為控制核心,設(shè)計出具有多種運(yùn)行模式的自動施肥機(jī),通過實(shí)驗(yàn)與測試證明其性能、效果和安全性優(yōu)越,為自動化施肥機(jī)的發(fā)展提供了新思路。第2章自動施肥機(jī)的總體技術(shù)介紹2.1施肥機(jī)的工作原理施肥機(jī)是一種實(shí)用的農(nóng)業(yè)機(jī)械,通常用于糧食、蔬菜、果樹、茶葉等農(nóng)作物的施肥。施肥機(jī)的基本工作原理是將肥料從肥料倉庫中輸送到施肥器中,再通過旋轉(zhuǎn)的選擇器控制肥料的釋放量和范圍,從而實(shí)現(xiàn)對作物施肥的目的。在施肥機(jī)的工作原理中,首先肥料需要從肥料倉庫中取出。這個過程通常由輸送管、輸送帶或螺旋輸送器等輸送裝置實(shí)現(xiàn),其目的是將肥料從倉庫中運(yùn)送到施肥器中。接下來,選擇器就開始工作了。選擇器是施肥機(jī)中非常重要的部件,通過旋轉(zhuǎn)實(shí)現(xiàn)對肥料的精準(zhǔn)控制。一般來說,選擇器可以分為前、中、后三部分,每個部分都有不同大小的角度,通過S90舵機(jī)的組合,機(jī)械臂選擇器可以控制肥料流量的大小和方向。通過對機(jī)械臂選擇器的旋轉(zhuǎn)旋轉(zhuǎn)角度進(jìn)行調(diào)節(jié),可以控制施肥機(jī)精準(zhǔn)地將肥料投放到農(nóng)作物根部,保證了三種肥料的有效利用。三種肥料放在不同的方向上,氮肥放在水平九十度的位置,磷肥放在水平正前方位置,鉀肥放在斜方向四十五度的位置,在氮肥使用的時候,兩個舵機(jī)交替旋轉(zhuǎn),主舵機(jī)旋轉(zhuǎn)一百八十度,然后副舵機(jī)進(jìn)行旋轉(zhuǎn)九十度,挖取氮肥,然后副舵機(jī)旋轉(zhuǎn)刀原來的位置,主舵機(jī)進(jìn)行釋放,同理在鉀肥使用的時候,繼續(xù)轉(zhuǎn)動機(jī)械臂,主舵機(jī)旋轉(zhuǎn)一百八十度到鉀肥的位置,然后副舵機(jī)旋轉(zhuǎn)四十五度進(jìn)行挖取,然后副舵機(jī)繼續(xù)進(jìn)行旋轉(zhuǎn)四十五度進(jìn)行原來的位置,主舵機(jī)進(jìn)行施肥鉀肥,完成鉀肥的挖取和操作,最后的磷肥也是如此,先是由主舵機(jī)進(jìn)行旋轉(zhuǎn)一百八十度進(jìn)行,然后副舵機(jī)進(jìn)行挖取磷肥,接著副舵機(jī)進(jìn)行旋轉(zhuǎn)到原來的位置進(jìn)行,主舵機(jī)進(jìn)行釋放磷肥,三種肥料進(jìn)行不停止接替的進(jìn)行挖取和釋放肥料,完成自動的施肥,這三種的施肥過程交替進(jìn)行,完成了一個整個流程的自動施肥。在光照不足的條件下,傳感器會自動進(jìn)行補(bǔ)光的操作,讓led燈進(jìn)行不同補(bǔ)光處理,只要光值低于一百二十的時候,led燈會自動打開,進(jìn)行補(bǔ)光的操作,讓農(nóng)作物進(jìn)行自動的補(bǔ)光操作。保證其生長。最后,施肥機(jī)上的控制系統(tǒng)對施肥機(jī)進(jìn)行自動控制,并可以根據(jù)作物的需求和肥料的種類進(jìn)行智能化的調(diào)節(jié)和控制。通過使用STM32等微控制器,可以實(shí)現(xiàn)高度精準(zhǔn)的施肥控制,提高了施肥的效率和作物的產(chǎn)量。總之,基于以上原理,自動施肥機(jī)實(shí)現(xiàn)了高效、精準(zhǔn)、智能化的施肥操作,是農(nóng)業(yè)生產(chǎn)中不可或缺的重要機(jī)械。2.2STM32的自動控制設(shè)計介紹基于STM32的自動施肥機(jī)的控制是實(shí)現(xiàn)自動施肥機(jī)器總體的核心。本設(shè)計采用了STM32微控制器作為核心控制,并采用傳感器等外設(shè)進(jìn)行輔助控制。在具體實(shí)現(xiàn)中,STM32的定時器功能被充分利用,實(shí)現(xiàn)了對機(jī)械臂的角度調(diào)動,實(shí)現(xiàn)對三種肥料的控制。首先,在STM32設(shè)計中,機(jī)械臂的轉(zhuǎn)速是通過設(shè)置定時器的計數(shù)周期以及占空比來實(shí)現(xiàn)的。通過將輸出脈沖波形的高電平時間以及周期時間編程到定時器中,可以實(shí)現(xiàn)機(jī)械臂的精準(zhǔn)調(diào)速。同時,由于控制系統(tǒng)采用PID控制算法,因此可以對系統(tǒng)進(jìn)行閉環(huán)控制,保證輸出的脈沖波形穩(wěn)定,從而實(shí)現(xiàn)氮磷鉀三種肥料的精準(zhǔn)控制。其次,針對機(jī)械臂挖取肥力的轉(zhuǎn)動控制,本設(shè)計采用了簡單的計時控制方法。在程序中,使用了定時器來控制肥料的機(jī)械臂轉(zhuǎn)動,以實(shí)現(xiàn)對挖取時間的精確控制。同時,程序還采用了多任務(wù)處理技術(shù),以便能夠及時響應(yīng)用戶的操作,并根據(jù)實(shí)時監(jiān)測數(shù)據(jù)進(jìn)行自動調(diào)節(jié)。最后,本設(shè)計還可以通過外設(shè)傳感器獲取環(huán)境信息,并根據(jù)這些信息進(jìn)行控制策略的判斷。例如,通過溫度、濕度、光照等環(huán)境信息,可以制定適合該環(huán)境下的施肥方案,從而提高肥料利用效率,并降低環(huán)境對植物的傷害。因此,基于STM32的自動控制設(shè)計,可以實(shí)現(xiàn)對轉(zhuǎn)動機(jī)械臂調(diào)速、下部機(jī)械臂挖取控制、實(shí)時環(huán)境信息的監(jiān)測等功能,從而實(shí)現(xiàn)對自動施肥機(jī)的智能控制。2.3STM32技術(shù)介紹系統(tǒng)采用STM32單片機(jī)作為主控進(jìn)行程序編程,STM32F103C8T8是一款由意大利公司的死人半導(dǎo)體公司(推出的基于Cortex-M3內(nèi)核的32位微控制器,硬件采用LQFP48封裝,屬于ST公司微控制器中的STM32系列STM32F103C8T8的GPIO有8種模式,其中包含上拉、下拉輸入模式,所以外接按鈕時可不設(shè)計上下拉電阻。我們通過基于STM32單片機(jī)的工作原理:按鍵KEY0一端接到3.3V的VCC,一端接到單片機(jī)的引腳上。發(fā)光二極管LED0一端也同樣經(jīng)50KΩ電阻接到3.3V的VCC,另一端則接到我們的引腳上,本文通過讓PC13引腳進(jìn)行輸出低電平讓二極管發(fā)光的話。STM32最大工作電壓3.6V,使用了LDO低壓差線性穩(wěn)壓器將輸入電壓VIN降到3.3v給微控制器供電。3.7V和GND之間的4個0.1uf的旁路電容去除高頻交流信號接到了芯片的4個VDD和4個VSS上,通過這四個交流信號去控制機(jī)械臂的旋轉(zhuǎn),彼此不同連接,控制三種肥料的挖取和施肥,并打開和關(guān)閉led燈的使用增強(qiáng)供電能力,保證供電的可靠性。2.4施肥機(jī)的結(jié)構(gòu)設(shè)計介紹2.4.1傳感器介紹施肥機(jī)的傳感器結(jié)構(gòu)設(shè)計是自動施肥機(jī)設(shè)計過程中不可忽視的一環(huán)。該部分主要包括施肥機(jī)的主要結(jié)構(gòu)部件設(shè)計和布局設(shè)計。自動施肥機(jī)的溫度傳感器介紹:對于我們畢業(yè)設(shè)計的溫度傳感器是使用DS18B20數(shù)字溫度傳感器,該傳感器精準(zhǔn)測量溫度,同時具有數(shù)字輸出功能,方便我們進(jìn)行數(shù)據(jù)采集和處理。自動施肥機(jī)器的肥力傳感器介紹:使用一款精度高、輸出穩(wěn)定的電容式土壤濕度傳感器,并根據(jù)傳感器的特性對電路進(jìn)行了合理設(shè)計和優(yōu)化。自動施肥機(jī)的光敏傳感器介紹:為了保證農(nóng)作物的正常光照生長,使用光敏電阻進(jìn)行測試光照強(qiáng)度,當(dāng)?shù)陀?20光值時,會自動打開led燈進(jìn)行補(bǔ)光,保證農(nóng)作物的不間歇進(jìn)行光照。從而實(shí)現(xiàn)我們技術(shù)要求。2.4.2網(wǎng)絡(luò)通訊介紹自動施肥機(jī)的網(wǎng)絡(luò)通訊我進(jìn)行使用ESP8266WIFI模塊進(jìn)行網(wǎng)絡(luò)信息傳輸,我們網(wǎng)絡(luò)模塊采用串口與上位機(jī)通信,內(nèi)置TCP/IP協(xié)議棧從而去實(shí)現(xiàn)串口與外部SPIFlash進(jìn)行通信,我們使用AP模式通過手機(jī)熱點(diǎn)進(jìn)行聯(lián)網(wǎng),即可以通過WIFI傳輸自己的數(shù)據(jù),使用施肥機(jī)時,上位機(jī)進(jìn)行網(wǎng)頁控制,通過WIFI傳輸消息到控制器從而繼續(xù)傳輸?shù)较挛粰C(jī)控制機(jī)械臂。讓機(jī)械臂進(jìn)行三種肥料的挖取和施肥操作,實(shí)現(xiàn)上位機(jī)對下位機(jī)的控制。2.4.3肥料儲存介紹從施肥機(jī)的主要結(jié)構(gòu)部件設(shè)計方面來看,其主要包括肥料貯存?zhèn)}、施肥裝置、傳動機(jī)構(gòu)和控制系統(tǒng)。肥料貯存?zhèn)}是施肥機(jī)的關(guān)鍵組成部分之一,其主要作用是存儲施肥所需的肥料。在肥料貯存?zhèn)}的設(shè)計中,需要考慮如下因素:首先,應(yīng)根據(jù)實(shí)際需要確定容積大小,以保證足夠存儲施肥所需的肥料;其次,應(yīng)在結(jié)構(gòu)設(shè)計中注意肥料的通風(fēng)與密封,以避免肥料變質(zhì);并且還需要考慮施肥機(jī)的使用壽命和易于維護(hù)等方面的因素。最后保證氮磷鉀三種化肥的數(shù)量夠我們進(jìn)行使用。施肥裝置是另一個關(guān)鍵的結(jié)構(gòu)部件,其主要作用是將貯存在肥料貯存?zhèn)}中的肥料輸送到作物生長區(qū)域。該部分需要考慮的因素包括:首先,應(yīng)根據(jù)不同作物生長的需求,確定施肥的方式和量;其次,應(yīng)選擇高效、耐用的施肥裝置,并注意施肥過程中肥料的均勻性和穩(wěn)定性;還需要考慮施肥機(jī)使用過程中的維護(hù)保養(yǎng)問題。2.4.4電機(jī)介紹在自動施肥機(jī)的設(shè)計中,電機(jī)驅(qū)動模塊扮演著至關(guān)重要的角色。因此,我們需要在選擇電機(jī)驅(qū)動器時非常小心。針對本項(xiàng)目,我們的自動施肥設(shè)計使用了比較穩(wěn)定的SG90舵機(jī)。SG90舵機(jī)是的功能在于他可以保證在任意位置或者任意角度進(jìn)行使用的的施肥機(jī)器,適用于本文兩個舵機(jī)的配合進(jìn)行挖取三種肥料和釋放三種肥料并可以保持的控制系統(tǒng)。在本文的畢業(yè)設(shè)計中,舵機(jī)控制效果是性能的重要影響因素。需要注意的是,在使用SG90舵機(jī)時,應(yīng)該確保此模塊與STM32單片機(jī)的GPIO引腳進(jìn)行連接,以實(shí)現(xiàn)對電機(jī)的控制。最后,需要對電路進(jìn)行合適的檢查和調(diào)試,以確保電機(jī)驅(qū)動模塊可以正常工作。綜上所述,在布局設(shè)計中,需要考慮安裝空間、機(jī)械連接、電氣連接和外部雜音等方面的約束因素,以確保施肥機(jī)的穩(wěn)定性和易用性。此外,由于施肥機(jī)工作時需要與農(nóng)作物密切接觸,因此施肥機(jī)的布局設(shè)計還需要考慮對農(nóng)作物的不造成損傷或不良影響,以確保施肥效果和產(chǎn)量。2.4.5顯示屏介紹本文施肥機(jī)的可以系統(tǒng)使用oled顯示屏,OLED的優(yōu)點(diǎn)比較明顯,它是讓發(fā)光二極管其作用可以讀取我們測試的數(shù)據(jù)。我們使用的OLED因?yàn)樗梢员容^穩(wěn)定顯示出我們的數(shù)據(jù)和測試結(jié)果,并且還不需要自動施肥機(jī)器的尋找外界的光源、采用的是SPI協(xié)議,速度會比采用I2C協(xié)議的更快,但這兩者的顯示驅(qū)動都一樣,本質(zhì)上沒有太大差別。屏幕整體分辨率為128*64,有黃藍(lán)、白、藍(lán)三種顏色可選,驅(qū)動芯片為SSD1306,GDDRAM是位映射靜態(tài)RAM,大小為128x64位。每頁內(nèi)1個SEG對應(yīng)1Byte數(shù)據(jù),一頁由128Byte組成。一幀顯示數(shù)據(jù)為1024Byte(1KB)。即屏幕每8行像素點(diǎn)(8*PIXEL)記為一頁(PAGE),64行即為8頁,則屏幕變?yōu)?28列(ROW)8頁(PAGE),若要顯示整個屏幕,則需要128*8個1字節(jié)數(shù)。第3章硬件設(shè)計3.1系統(tǒng)總統(tǒng)設(shè)計圖本文畢業(yè)設(shè)計采用上位機(jī)是電腦網(wǎng)頁,通過網(wǎng)頁設(shè)計上位機(jī)控制頁面,通過WIFI傳輸信號傳遞給單片機(jī),單片機(jī)通過加工處理信號,把電信號轉(zhuǎn)換為模擬信號進(jìn)行調(diào)制傳遞給傳感器和機(jī)械臂模塊,讓傳感器進(jìn)行測試數(shù)據(jù),讓機(jī)械模塊進(jìn)行執(zhí)行操作,總體如圖3.1所示: 圖3.1STM32單片機(jī)總體設(shè)計流程圖3.1.1總體設(shè)計在本章節(jié)中,我們將詳細(xì)介紹電路設(shè)計與實(shí)現(xiàn),這是基于STM32自動施肥機(jī)的重要部分。首先,我們需要對整個電路進(jìn)行設(shè)計,以確保它滿足工作要求。在電路設(shè)計中,我們需要選擇合適的元器件和電路結(jié)構(gòu)。在選擇元器件時,我們考慮到功耗、精度以及成本等因素。這需要我們仔細(xì)評估各種元器件的優(yōu)缺點(diǎn),總體集成電路如圖3.13所示??傮w的設(shè)備成品如圖3.14所示,完成施肥機(jī)的設(shè)計。另外,我們還要考慮電路結(jié)構(gòu)的合理性。在實(shí)際應(yīng)用中,電路可能會受到各種干擾,如噪聲、電磁干擾等,這些都會對電路的正常工作產(chǎn)生影響。因此,我們需要采取一些措施來加強(qiáng)電路的抗干擾能力,如增加濾波電容、降噪電路等。采取這些措施可以有效地提高電路的穩(wěn)定性和可靠性。在電路設(shè)計完成后,我們需要進(jìn)行實(shí)現(xiàn)。實(shí)現(xiàn)的過程中,我們需要進(jìn)行電路布線和焊接,確保電路的連通性和正確性。在布線和焊接時,我們需要遵循一定的規(guī)范和操作流程,以免出現(xiàn)短路、斷路等問題,這些問題可能導(dǎo)致機(jī)械臂無法正常工作,所以我們小心的解決了此問題。在電路設(shè)計與實(shí)現(xiàn)完成后,我們需要對整個系統(tǒng)進(jìn)行調(diào)試和測試,以確保它能夠滿足工作要求。在調(diào)試和測試過程中,我們需要按照一定的順序和步驟進(jìn)行,以便及時發(fā)現(xiàn)和解決問題。只有經(jīng)過認(rèn)真的調(diào)試和測試,才能保證整個自動施肥機(jī)的正常工作。。綜上所述,電路設(shè)計與實(shí)現(xiàn)是基于STM32自動施肥機(jī)的重要組成部分。我們需要對整個電路進(jìn)行設(shè)計、布線和焊接,并進(jìn)行系統(tǒng)的調(diào)試和測試,才能保證其穩(wěn)定性和可靠性。 圖3.14STM32單片機(jī)電路成品圖圖3.15STM32施肥機(jī)總體硬件成品圖3.2傳感器的選擇與使用3.2.1溫度傳感器在自動施肥機(jī)中,溫度傳感器扮演著至關(guān)重要的角色,它們用于測量土壤的溫度參數(shù),以便能夠針對性地施肥。溫度傳感器的流程圖如圖3.2所示,實(shí)際溫度傳感器如圖3.3所示。 圖3.3溫度傳感器圖3.2溫度傳感器流程圖對于溫度傳感器的選擇,需要考慮到其測量精度、穩(wěn)定性、耐用性等多個因素。我們選擇了一款比較適合我們進(jìn)行使用的DS18B20數(shù)字溫度傳感器,因?yàn)樵撐覀兊膫鞲衅骶珳?zhǔn)的測量溫度便于我們進(jìn)行測試數(shù)據(jù),并且可以同時顯示數(shù)字的功能,因?yàn)檫@些的東西就方便我們進(jìn)行施肥機(jī)器的數(shù)據(jù)采集和處理。根據(jù)實(shí)驗(yàn)要求:精度在0.5℃范圍內(nèi),則不必四舍五入,取出整數(shù)部分直接處理,只需考查數(shù)據(jù)的小數(shù)第一位,來決定小數(shù)點(diǎn)顯示位置顯示0或者5,便可保證精度;并且在個位位置附加上小數(shù)點(diǎn);最后補(bǔ)充符號位,負(fù)溫度時顯示負(fù)號。讀取RAM內(nèi)的溫度數(shù)據(jù)三個步驟:1.上位機(jī)發(fā)出復(fù)位操作并接收DS18B20傳感器的應(yīng)答脈沖。2.上位機(jī)發(fā)出跳過并且對ROM操作的命令進(jìn)行下一步操作(CCH)。3.上位機(jī)發(fā)出讀取RAM的命令(BEH),隨后主機(jī)依次讀取DS18B20傳感器發(fā)出的從第0到第8,共九個字節(jié)的數(shù)據(jù)。基本代碼:voidtmp_wendu(){ u8bu[20]; u16tem=0; delay_ms(10); tem=Ds18b20GetTempa();//傳遞溫度的大小 if((tem>0)&&(tem<1000)) { soil_tp=tem; } //jytemp=tt; clear(bu,20); str_str_int(bu,"T:",soil_tp/10); str_str_int(bu,".",soil_tp%10);//計算土壤溫度的大小 str_str(bu,""); OLED_ShowString(0,0,bu,16,1);}3.2.2濕度傳感器我們的施肥機(jī)是濕度傳感器在我們的畢業(yè)施肥機(jī)器中是使用電容式的土壤濕度傳感器,其電容式傳感器流程圖如圖3.3所示,其成品的所使用的溫度傳感器實(shí)物如圖3.4所示。圖3.4濕度傳感器流程圖圖3.5濕度傳感器在土壤的濕度檢測中,我們根據(jù)傳感器輸出數(shù)據(jù)采取了相應(yīng)的措施,如加水、加肥、開啟燈光等,以保證自動施肥機(jī)的正常運(yùn)行。這款電容式土壤濕度傳感器區(qū)別于市面上絕大部分的電阻式傳感器,采用電容感應(yīng)原理來檢測土壤濕度。避免了電阻式傳感器極易被腐蝕的問題,極大地延長了它的工作壽命。傳感器內(nèi)置穩(wěn)壓芯片,支持3.3~5.5V寬電壓工作環(huán)境,這意味著即使在3.3V的Arduino主控板上,它也能正常工作。標(biāo)志性的DFRobot-Gravity接口保證了接口的兼容性,可以直接與GavityIO擴(kuò)展板相連接。在連接上位機(jī)的數(shù)據(jù)時需要外接一個ADC(模擬信號轉(zhuǎn)數(shù)字信號)轉(zhuǎn)換模塊就可以工作,步驟如下:1.在正式檢測土壤濕度前,需要有一個校準(zhǔn)過程。2.上傳校準(zhǔn)代碼至Arduino主控板3.打開串口監(jiān)視,進(jìn)行處理數(shù)據(jù)反饋給上位機(jī)?;敬a:voidsoil_data(){ staticu16nub=0;//初始化土壤數(shù)據(jù) u8mm[20]; nub=get_ad(0); nub=(nub*3300/4096)>>2; if(nub>610)//判斷是否達(dá)到預(yù)期效果 { soil_dt=0; } else { soil_dt=610-nub; } clear(mm,20); str_str_int(mm,"s_dt:",soil_dt); str_str(mm,""); OLED_ShowString(0,32,mm,16,1);//傳遞給led顯示屏幕}3.2.3土壤電導(dǎo)率傳感器施肥機(jī)的肥力傳感器我們使用土壤肥力傳感器測試三種肥料在土壤中的含量多少,從而達(dá)到我們的要求,其中的流程圖如圖3.6所示,其中的實(shí)際物體圖如圖3.7所示,土壤水分部分是基于頻域反射原理,利用高頻電子技術(shù)制造的高精度、高靈敏度的測量土壤水分的傳感器。通過測量土壤的介電常數(shù),能直接穩(wěn)定地反映各種土壤的真實(shí)氮磷鉀的肥料含量,可測量土壤肥力的體積百分比,是目前國際上的土壤肥力測量方法。從而完成我們對三種肥料的測試。 圖3.6電導(dǎo)率傳感器流程圖圖3.7電導(dǎo)率傳感器實(shí)際圖土壤電導(dǎo)率部分是用不銹鋼探針通過傳感器轉(zhuǎn)換成土壤電導(dǎo)率的模擬或數(shù)字信號,在研制過程中吸取了國外同類儀器的先進(jìn)技術(shù),并結(jié)合我國的實(shí)際情況和使用要求,將電導(dǎo)率值轉(zhuǎn)換成與之對應(yīng)的模擬或數(shù)字信號。將這種電導(dǎo)率傳感器埋入土壤后,直接測定土壤溶液中的可溶鹽離子的電導(dǎo)率。土壤氮磷鉀部分通過檢測土壤中氮磷鉀的含量來判斷土壤的肥沃程度,進(jìn)而方便了客戶系統(tǒng)的評估土壤情況。基本代碼:voidsoil_ddl(){ staticu16nub=0; u8mm[20]; nub=get_ad(1); nub=(nub*3300/4096)>>2; soil_dm=824-nub;//計算傳輸土壤數(shù)據(jù) if() clear(mm,20); str_str_int(mm,"s_dl:",soil_dm); //土壤電導(dǎo)率的大小 str_str(mm,""); OLED_ShowString(0,48,mm,16,1);}3.3電機(jī)的選擇與使用在自動施肥機(jī)的設(shè)計中,電機(jī)驅(qū)動模塊扮演著至關(guān)重要的角色。因此,我們需要在選擇電機(jī)驅(qū)動器時非常小心。針對本項(xiàng)目,我們選擇使用SG90舵機(jī)。其中流程圖如圖3.8所示,成品舵機(jī)圖如圖3.9所示。SG90舵機(jī)是一種位置(角度)伺服的驅(qū)動器,適用于那些需要角度不斷變化并可以保持的控制系統(tǒng)。在機(jī)器人機(jī)電控制系統(tǒng)中,舵機(jī)控制效果是性能的重要影響因素。舵機(jī)可以在微機(jī)電系統(tǒng)和航模中作為基本的輸出執(zhí)行機(jī)構(gòu),其簡單的控制和輸出使得單片機(jī)系統(tǒng)非常容易與之接口。與其他驅(qū)動電機(jī)相比,SG90具有許多優(yōu)點(diǎn)。首先,它支持低壓電源,可以最大程度地保證電機(jī)的轉(zhuǎn)速。其次,它能夠檢測電機(jī)反向電流,保證該模塊的安全性和可靠性。此外,還可以進(jìn)行電流限制,以防止電機(jī)超載損壞。圖3.8電動舵機(jī)流程圖圖3.9電動舵機(jī)實(shí)際圖1.本文使用舵機(jī)的控制信號為周期是40ms的脈寬調(diào)制信號,舵機(jī)的范圍是脈沖寬度從0.5ms-2.5ms。2.主舵機(jī)和副舵機(jī)都是相對應(yīng)舵盤都是轉(zhuǎn)動范圍是0—180度,呈線性變化給它提供一定的脈寬,主舵機(jī)先進(jìn)行旋轉(zhuǎn)到180度,然后它的輸出軸就會保持在一個相對應(yīng)的角度上,無論外界轉(zhuǎn)矩怎樣改變,等待副舵機(jī)的繼續(xù)執(zhí)行,直到給它提供一個另外寬度的脈沖信號,它才會改變輸出角度到新的對應(yīng)的位置上。3.我們的舵機(jī)內(nèi)部有一個基準(zhǔn)電路,產(chǎn)生周期40ms,寬度1.5ms的基準(zhǔn)信號,有一個比較器,將外加信號與基準(zhǔn)信號相比較,判斷出挖取的肥料種類,從而實(shí)現(xiàn)施肥機(jī)的挖取?;敬a:voidshifei(u32nub){ pwm_outb(0); //上抬 pwm_outa(0); //轉(zhuǎn)動到背后 delay_ms(200); pwm_outa(100*nub); //轉(zhuǎn)動到取肥料點(diǎn) delay_ms(500); pwm_outb(1500); //挖起 delay_ms(500); pwm_outa(2000); //轉(zhuǎn)動到外部 pwm_outb(2000); //釋放 delay_ms(500); pwm_outa(0); //轉(zhuǎn)動到背后 pwm_outb(0); //上抬}3.4led燈設(shè)計與實(shí)現(xiàn)在干燥的環(huán)境中,光照強(qiáng)度的控制也是十分重要的,因此我們還使用了光敏電阻,用于測量光強(qiáng)并反饋給系統(tǒng)。流程圖如圖3.10所示,具體實(shí)物圖如圖3.11所示,在實(shí)際應(yīng)用中,我們根據(jù)傳感器輸出數(shù)據(jù)采取了相應(yīng)的措施,如加水、加肥、開啟燈光等,以保證自動施肥機(jī)的正常運(yùn)行。 圖3.10led燈流程圖圖3.11led燈實(shí)物圖操作步驟:1.設(shè)置GPIO端口時鐘;2.初始化GPIO目標(biāo)引腳為輸入模式(浮空輸入);3.編寫簡單測試程序,檢測按鍵的狀態(tài),實(shí)現(xiàn)按鍵控制LED燈;4.通過分別把控制LED燈的GPIO端口,GPIO引腳號以及GPIO端口時鐘封裝起來了。在實(shí)際控制的時候我們就可以直接使用這些宏,以達(dá)到應(yīng)用代碼與led燈硬件開關(guān)的效果。基本代碼:voidlight(){ floattemp; u8mmm[40]; floati_nub=0; Multiple_read_BH1750();//讀出光照的值 i_nub=(g_BUF[0]); i_nub=(i_nub*256)+g_BUF[1]; temp=(float)i_nub/1.2; soil_light=temp; //if(soil_light) clear(mmm,40); str_str_int(mmm,"lux:",temp);//調(diào)用溫度傳感器 str_str(mmm,""); OLED_ShowString(0,16,mmm,16,1);}3.5數(shù)據(jù)傳輸設(shè)計與使用數(shù)據(jù)傳輸我們使用ESP8266WIFI模塊進(jìn)行傳輸數(shù)據(jù),上位機(jī)通過WIFI發(fā)送指令,通過網(wǎng)絡(luò)進(jìn)行對施肥機(jī)的遠(yuǎn)程控制,低功耗串口WIFI模塊ESP8266內(nèi)置一個Tensilica(泰思立達(dá))Xtensa架構(gòu)的32位處理器L106,具有5級流水線(ARMCortexM3是3級流水線),最大時鐘速度為160MHz,可以使用高達(dá)16MB的外部SPIFlash。該模塊采用串口與MCU(或其他串口設(shè)備)通信,內(nèi)置TCP/IP協(xié)議棧,能夠?qū)崿F(xiàn)串口與WIFI之間的轉(zhuǎn)換。通過該模塊,傳統(tǒng)的串口設(shè)備只需要簡單的串口配置,即可通過WIFI傳輸自己的數(shù)據(jù)。流程圖如圖3.12所示,實(shí)際物體如圖3.13所示。完成上位機(jī)對下位機(jī)的操作和處理,進(jìn)而去實(shí)現(xiàn)我們的施肥設(shè)計。圖3.12網(wǎng)絡(luò)傳輸流程圖圖3.13網(wǎng)絡(luò)傳輸模塊實(shí)際基本代碼:voidsocket_sys(){ staticu32socket_time=0; if(socket_time<Sys_Run_Time) { socket_time=Sys_Run_Time+1000; if(socket_error>8) { socket_error=0; init_inter(api);//初始化網(wǎng)絡(luò)傳遞模塊 } else { MY_socket(); } //MY_socket(); }} 第4章軟件設(shè)計4.1系統(tǒng)架構(gòu)與程序設(shè)計在本項(xiàng)目中,為實(shí)現(xiàn)基于STM32的自動施肥機(jī)的功能設(shè)計,需要進(jìn)行系統(tǒng)架構(gòu)與程序設(shè)計。施肥機(jī)總體的結(jié)構(gòu)設(shè)計首先需要明確每個命令傳遞給上位機(jī),然后根據(jù)命令進(jìn)行去設(shè)計所有的模塊,最終形成系統(tǒng)整體框架。在本項(xiàng)目中,系統(tǒng)應(yīng)該包含傳感器數(shù)據(jù)采集、數(shù)據(jù)處理以及反饋控制等多個模塊,各個模塊之間相互協(xié)作完成自動化施肥的功能。其中總體軟件框架如圖4.1所示,實(shí)現(xiàn)在設(shè)計系統(tǒng)架構(gòu)時需要考慮各個模塊之間的通信方式、數(shù)據(jù)傳輸方式以及接口設(shè)計等問題。圖4.1STM32軟件設(shè)計流程圖為實(shí)現(xiàn)系統(tǒng)的功能設(shè)計,本項(xiàng)目使用了KEIL5軟件進(jìn)行程序設(shè)計如圖4.1所示,使用C語言作為主要編程語言實(shí)現(xiàn)系統(tǒng)的各項(xiàng)功能。程序設(shè)計的基本框架為事件驅(qū)動模型,程序中各個模塊獨(dú)立運(yùn)行,通過消息隊(duì)列進(jìn)行通信與協(xié)作,實(shí)現(xiàn)多任務(wù)調(diào)度。在系統(tǒng)架構(gòu)與程序設(shè)計的基礎(chǔ)上,本項(xiàng)目依次完成了傳感器數(shù)據(jù)采集與處理、控制算法設(shè)計以及用戶界面開發(fā)等工作,實(shí)現(xiàn)了基于STM32的自動施肥機(jī)的功能設(shè)計。在傳感器數(shù)據(jù)采集與處理方面,本項(xiàng)目采用了數(shù)字溫濕度傳感器和土壤濕度傳感器,通過自定義協(xié)議進(jìn)行數(shù)據(jù)采集,再進(jìn)行數(shù)據(jù)處理和存儲。在控制算法設(shè)計方面,本項(xiàng)目使用了控制理論中的PID算法,并通過實(shí)驗(yàn)驗(yàn)證算法的正確性和可行性。最后,在用戶界面開發(fā)方面,本項(xiàng)目實(shí)現(xiàn)了用戶交互界面,完成界面如圖4.2所示其中界面是通過以上系統(tǒng)架構(gòu)與程序設(shè)計的細(xì)致分析,本項(xiàng)目實(shí)現(xiàn)了基于STM32的自動施肥機(jī)的功能設(shè)計,為植物栽培提供了更為方便的自動化施肥方式。4.2用戶界面開發(fā)在本次基于STM32的自動施肥機(jī)中,用戶界面是自動施肥機(jī)的重要組成部分,其設(shè)計負(fù)責(zé)將系統(tǒng)的各種信息展現(xiàn)給用戶,并實(shí)現(xiàn)用戶對系統(tǒng)的操作和控制。因此,本次研究中的用戶界面開發(fā),需至少實(shí)現(xiàn)以下功能:系統(tǒng)參數(shù)設(shè)置、手動操作和自動施肥等。首先,系統(tǒng)參數(shù)設(shè)置是用戶界面中的一個重要功能。通過該功能,用戶可以方便地對系統(tǒng)的參數(shù)進(jìn)行調(diào)整,以實(shí)現(xiàn)更好的施肥效果。該功能需要包含以下參數(shù)的設(shè)置:氮磷鉀三種化肥的種類,光強(qiáng)的預(yù)值、即低于此光強(qiáng)之后即可自動打開led燈進(jìn)行補(bǔ)光,保證植物的正常生長、土壤當(dāng)前溫度的顯示、當(dāng)年土壤肥力的顯示、氮肥磷肥鉀肥三種肥力的施肥按鈕等等。這些參數(shù)均需要通過用戶界面進(jìn)行操作。其次,手動操作功能是用戶界面中的另一個重要功能。在設(shè)備使用過程中難免會遇到一些突發(fā)情況,例如施肥計量泵出現(xiàn)故障等,此時用戶可以通過手動操作功能直接操作設(shè)備,以確保設(shè)備正常工作。該功能需要包含手動控制施肥計量和光照傳感器的狀態(tài)等。當(dāng)然,在系統(tǒng)正常工作時,自動施肥功能是系統(tǒng)最主要的功能之一。因此,本系統(tǒng)必須包含自動施肥功能,并具備智能化的控制策略。在自動施肥功能中,系統(tǒng)需要根據(jù)肥力傳感器的讀數(shù),對電導(dǎo)率進(jìn)行實(shí)時監(jiān)測,并根據(jù)監(jiān)測結(jié)果,我們控制施肥機(jī)械臂的工作轉(zhuǎn)動角度和肥料的獲取,以實(shí)現(xiàn)恰當(dāng)?shù)氖┓?。同時,在控制方面,需要運(yùn)用現(xiàn)代控制算法,為系統(tǒng)提供更好的控制能力。在用戶的體驗(yàn)上進(jìn)一步進(jìn)行的完善,形成操作簡單的網(wǎng)頁就行控制,點(diǎn)擊進(jìn)行三種不同的肥料進(jìn)行施肥即可,直接會顯示出溫度和濕度的讀數(shù),形成一個比較完美的上位機(jī)控制臺進(jìn)行輸入命令。綜合而言,本次基于STM32的自動施肥機(jī)用戶界面設(shè)計將是一個比較復(fù)雜的任務(wù),需要具備廣泛的技術(shù)知識和能力。不過,通過科學(xué)的設(shè)計方案和優(yōu)秀的工程師團(tuán)隊(duì),本次研究將能夠?qū)崿F(xiàn)完美的用戶界面開發(fā)如圖4.2所示。 圖4.2STM32軟件頁面成品圖核心代碼:voidsoil_data(){ staticu16nub=0; u8mm[20]; nub=get_ad(0); nub=(nub*3300/4096)>>2;//判斷光照的大小 if(nub>610) { soil_dt=0; } else { soil_dt=610-nub;//肥力的闕值 } clear(mm,20); str_str_int(mm,"s_dt:",soil_dt); str_str(mm,""); OLED_ShowString(0,32,mm,16,1);}4.3傳感器數(shù)據(jù)采集與處理在基于STM32的自動施肥機(jī)中,傳感器數(shù)據(jù)采集與處理是實(shí)現(xiàn)自動施肥的關(guān)鍵。本節(jié)將詳細(xì)介紹該部分的設(shè)計和實(shí)現(xiàn)。在系統(tǒng)架構(gòu)中,傳感器模塊負(fù)責(zé)采集環(huán)境參數(shù),包括土壤濕度、溫度、光照強(qiáng)度等,通過AD轉(zhuǎn)換器將模擬信號轉(zhuǎn)換為數(shù)字信號后,存儲于STM32芯片內(nèi)的SRAM中。為了節(jié)省內(nèi)存,采樣的數(shù)據(jù)進(jìn)行壓縮編碼,只保存有效數(shù)據(jù),提高了存儲效率。在傳感器數(shù)據(jù)處理方面,基于已有的土壤濕度、溫度、光照強(qiáng)度等傳感器數(shù)據(jù),需要對其進(jìn)行有效的分析和處理,以便為后期的施肥提供數(shù)據(jù)基礎(chǔ)。傳感器數(shù)據(jù)處理主要包括數(shù)據(jù)清洗、過濾、平滑、異常檢測等步驟。在數(shù)據(jù)處理過程中,設(shè)計亦考慮到了多傳感器數(shù)據(jù)融合的問題,為此提出了一種基于Kalman濾波和加權(quán)平均的數(shù)據(jù)融合算法。因?yàn)楦乃惴梢赃M(jìn)行多次的求和,獲取大量的數(shù)據(jù)進(jìn)一步減小系統(tǒng)的誤差,保證我們數(shù)據(jù)的可靠性,Kalman濾波可以很好地處理傳感器存儲的數(shù)據(jù),加權(quán)平均則能夠消除數(shù)據(jù)誤差帶來的影響。傳感器數(shù)據(jù)處理過程中,需要通過調(diào)用ADC數(shù)模轉(zhuǎn)換模塊,將數(shù)據(jù)從模擬信號轉(zhuǎn)換為數(shù)字信號,并通過處理模塊進(jìn)行數(shù)據(jù)降噪和均值計算等處理,最后將處理后的數(shù)據(jù)傳輸?shù)娇刂扑惴K進(jìn)行處理??傊O(shè)計采用了一些數(shù)據(jù)處理技術(shù),在采樣和存儲中進(jìn)行優(yōu)化,在數(shù)據(jù)處理中通過多傳感器數(shù)據(jù)融合算法,提高了數(shù)據(jù)的準(zhǔn)確性和實(shí)時性,為系統(tǒng)的自動施肥提供了有力的支撐。4.4控制算法設(shè)計在基于STM32的自動施肥機(jī)的軟件設(shè)計中,控制算法設(shè)計是非常重要的一環(huán)。該部分主要涉及自動施肥機(jī)的自動化控制、運(yùn)行方式的選擇以及自動施肥機(jī)的控制參數(shù)的設(shè)置等方面。首先,為了實(shí)現(xiàn)自動化控制,需要采用適當(dāng)?shù)膶?shí)時控制算法。自動施肥機(jī)的工作完全依賴于控制算法,因此選擇合適的控制算法對于自動化控制是非常重要的。在施肥機(jī)的使用,PID算法的控制器被廣泛使用,這種算法是通過對比例、積分、微分的三種數(shù)據(jù)的縮寫。顧名思義,PID控制算法是結(jié)合比例、積分和微分三種環(huán)節(jié)于一體的控制算法,它是連續(xù)施肥中系統(tǒng)技術(shù)最為成熟、應(yīng)用最為廣泛的一種控制算法,該控制算法出現(xiàn)于19世紀(jì)20到80年代,適用于土壤數(shù)據(jù)的測試和計算。實(shí)際運(yùn)行的經(jīng)驗(yàn)和理論的分析都表明,運(yùn)用這種控制規(guī)律對許多工業(yè)過程進(jìn)行控制時,都能得到比較滿意的效果。PID控制的實(shí)質(zhì)就是根據(jù)輸入的偏差值。從而去減小誤差,打到我們的目的。其次,在運(yùn)行方式的選擇方面,需要根據(jù)自動施肥機(jī)的實(shí)際情況,選擇合適的運(yùn)行模式。常用的運(yùn)行模式包括恒壓模式、恒流模式以及混合模式等。在實(shí)際應(yīng)用中,可以根據(jù)施肥機(jī)的特性、環(huán)境要求以及種植物的特性,選擇合適的運(yùn)行模式。最后,在控制參數(shù)設(shè)置方面,需要依據(jù)實(shí)際情況進(jìn)行逐步調(diào)整。設(shè)置控制參數(shù)包括比例系數(shù)、積分時間和微分時間等??梢酝ㄟ^實(shí)驗(yàn)和理論計算來得到合適的控制參數(shù)??傊?,基于STM32的自動施肥機(jī)的控制算法設(shè)計是一個至關(guān)重要的環(huán)節(jié)。只有正確使用實(shí)時控制算法,選擇合適的運(yùn)行模式,并逐步調(diào)整控制參數(shù),才能保證自動施肥機(jī)的正常運(yùn)行和高效施肥,從而完成我們的設(shè)計,達(dá)到我們想到去達(dá)到的預(yù)期結(jié)果和我們需要獲得的實(shí)驗(yàn)測試數(shù)據(jù)。4.5MySQL數(shù)據(jù)庫設(shè)計我們對于施肥機(jī)的數(shù)據(jù)存儲使用MySQL數(shù)據(jù)庫進(jìn)行保留測試數(shù)據(jù),對三種肥料的讀取和釋放,講讀取的溫度和濕度,電導(dǎo)率,氮肥,磷肥,鉀肥進(jìn)行存儲到數(shù)據(jù)庫中,傳送到上位機(jī)進(jìn)行讀取和保存。其中設(shè)計成品如圖4.3所示。圖4.3STM32軟件頁面成品圖配置過程:1.配置文件配置數(shù)據(jù)庫:MYSQL_HOST=""2.MYSQL_DBNAME="article_spider"3.在settings中的配置,我們通過在pipeline中定義from_settings獲取settings對象,可以直接獲取settings配置文件中的值。4.使用Twisted提供的異步容器連接MySQL:importMySQLdb代碼如下:classMysqlTwistedPipline(object):def__init__(self,dbpool):self.dbpool=dbpool@classmethoddeffrom_settings(cls,settings):dbparms=dicthost=settings["MYSQL_HOST"],//解析傳感器的數(shù)據(jù)db=settings["MYSQL_DBNAME"],user=settings["MYSQL_USER"],passwd=settings["MYSQL_PASSWORD"];//保存數(shù)據(jù)charset='utf8';cursorclass=MySQLdb.cursors.DictCursor;use_unicode=True;第5章實(shí)驗(yàn)與測試5.1實(shí)驗(yàn)環(huán)境與設(shè)備為了驗(yàn)證本文提出的基于STM32的自動施肥機(jī)系統(tǒng)是否可行和有效,我們設(shè)計了一系列實(shí)驗(yàn),并使用了一些設(shè)備和軟件來完成這些實(shí)驗(yàn)。在實(shí)驗(yàn)前,我們首先準(zhǔn)備了實(shí)驗(yàn)環(huán)境。實(shí)驗(yàn)室內(nèi)保持相對恒溫恒濕的條件,室內(nèi)溫度保持在20~35攝氏度范圍內(nèi),相對濕度保持在50左右。這些條件是為了盡可能地保證實(shí)驗(yàn)底層硬件的正常工作和穩(wěn)定性。在硬件方面,我使用了一組基于STM32F10C8T8微控制器的主控板(MCU)和開發(fā)板,這些設(shè)備可以幫助我們控制整個系統(tǒng)的各個部分,實(shí)現(xiàn)自動施肥。同時,我們還使用了溫度傳感器、濕度傳感器、肥力傳感器和光照傳感器等外圍設(shè)備,用來測量環(huán)境溫濕度、水泵啟??刂坪鸵簤簜鞲衅鞣答?。在氮肥充足的條件下我們進(jìn)行控制變量法對磷肥和鉀肥進(jìn)行不同的輸入,測試三種肥料對農(nóng)作物的影響因素,在鉀肥和磷肥的充足的條件下反過來測試氮肥的影響因素,三種肥料都充足的條件下,我們進(jìn)行不同的光照條件對于農(nóng)作物的影響,測試自動補(bǔ)光系統(tǒng)的功能是否充足。進(jìn)而繼續(xù)去測試濕度和溫度的條件影響,測試在不同的溫度和濕度條件下的不同影響農(nóng)作物的生長因素。在軟件方面,我使用了KEILuVision5編譯器編程,編寫嵌入式C語言程序,用于控制主控板的各種功能。此外,我們還使用了Proteus8仿真軟件來驗(yàn)證系統(tǒng)的各項(xiàng)功能。在進(jìn)行了10個小時的連續(xù)測試以后,測試出的大多數(shù)數(shù)據(jù)以及達(dá)到了我們的要求,誤差很小,數(shù)據(jù)的誤差基本在5%以內(nèi),從而能說明我們的實(shí)驗(yàn)測試是正確的,達(dá)到我們的預(yù)期。總體而言,我的實(shí)驗(yàn)環(huán)境和設(shè)備非常完備和穩(wěn)定,為下一步的實(shí)驗(yàn)奠定了堅實(shí)的基礎(chǔ)。5.2實(shí)驗(yàn)流程與結(jié)果分析本文所設(shè)計的基于STM32的自動施肥機(jī)在實(shí)驗(yàn)中進(jìn)行了詳細(xì)的測試,本節(jié)將介紹所設(shè)計的實(shí)驗(yàn)流程及結(jié)果分析。首先,將模擬信號通過傳感器獲取對應(yīng)的數(shù)字信號后送入單片機(jī)中,控制單片機(jī)識別信號并判斷其是否已經(jīng)達(dá)到閾值。當(dāng)傳感器所檢測的光照強(qiáng)度低于預(yù)設(shè)值,單片機(jī)將啟動led燈進(jìn)行補(bǔ)光;當(dāng)光照強(qiáng)度達(dá)到預(yù)設(shè)值時,單片機(jī)控制led燈自動關(guān)閉燈泡,避免過度浪費(fèi)電力,從而達(dá)到自動化施肥的目的。接著,在測試過程中,反復(fù)對系統(tǒng)的各項(xiàng)指標(biāo)進(jìn)行了實(shí)驗(yàn)分析,如施肥種類、土壤濕度大小、土壤肥力的檢測以及光照強(qiáng)度等,以進(jìn)一步驗(yàn)證STM32自動施肥機(jī)的有效性和穩(wěn)定性。在測試中,我們注重檢測每個關(guān)鍵節(jié)點(diǎn)的環(huán)境變化,并及時記錄數(shù)據(jù)以進(jìn)行比對和統(tǒng)計,最終實(shí)驗(yàn)結(jié)果表明該自動施肥機(jī)具有良好的穩(wěn)定性和實(shí)用性。據(jù)實(shí)驗(yàn)數(shù)據(jù)統(tǒng)計,該自動施肥機(jī)在溫度為20~30℃,濕度為40%~60%,陽光充足的環(huán)境下,能夠?qū)χ参镞M(jìn)行自動施肥、切換施肥種類,在整個海拔高度范圍內(nèi)均能達(dá)到良好的施肥效果,并可自由根據(jù)使用者的需求來控制澆水、施肥的時間和量??偟膩碚f,該基于STM32的自動施肥機(jī)系統(tǒng)設(shè)計簡單、操作靈活、效果穩(wěn)定,而且可靠性和實(shí)用性較高,能夠在實(shí)際農(nóng)田環(huán)境中得到較好的應(yīng)用,是一項(xiàng)有實(shí)際意義的科技成果。5.3系統(tǒng)性能評估在實(shí)驗(yàn)與測試的過程中,一個重要的方面就是對系統(tǒng)性能的評估。本章節(jié)主要介紹基于STM32的自動施肥機(jī)的系統(tǒng)性能評估,對系統(tǒng)的功能及穩(wěn)定性進(jìn)行測試,并對測試結(jié)果進(jìn)行分析。結(jié)果如表5.1所示。

表5.1施肥機(jī)的測試數(shù)據(jù)組別理論值測試1測試2測試3平均值氮肥4.9磷肥4.8鉀肥5.0光照率90%80%78%92%83%濕度溫度50%25℃45%26℃53%24℃51%25℃49%25℃第一,我們對自動施肥機(jī)的控制性能進(jìn)行了測試。實(shí)驗(yàn)的說明,系統(tǒng)良好地滿足了我我們需要的控制要求,能夠正常地實(shí)現(xiàn)一系列的操作。在施肥過程中,系統(tǒng)能夠根據(jù)預(yù)先設(shè)定的參數(shù)、控制施肥液的流速,并在達(dá)到設(shè)定的施肥時間后自動停止。同時,系統(tǒng)具有多項(xiàng)保護(hù)措施,當(dāng)出現(xiàn)異常狀況時,能夠自動停機(jī),確保施肥機(jī)的安全使用。然后,我們對施肥機(jī)系統(tǒng)的傳感器性能的檢測。實(shí)驗(yàn)檢測結(jié)果表明,施肥機(jī)的傳感器的性能游戲,能夠準(zhǔn)確地感知土壤濕度、光照強(qiáng)度等參數(shù)。在使用中,如果發(fā)現(xiàn)傳感器出現(xiàn)故障或者異常,系統(tǒng)會自動發(fā)出警報,以提示使用者及時排查問題。最后,我們對系統(tǒng)的穩(wěn)定性進(jìn)行了測試。測試結(jié)果表明,在連續(xù)工作10小時的情況下,系統(tǒng)的運(yùn)行穩(wěn)定性良好,且未發(fā)生任何故障或異常。通過長時間的穩(wěn)定性測試,我們可以得到基于STM32的自動施肥機(jī)具有良好的穩(wěn)定性和可靠性,能夠保證持續(xù)穩(wěn)定地工作。綜上所述,基于STM32的自動施肥機(jī)充分考慮了用戶的需求,兼?zhèn)淞烁咝浴⒎€(wěn)定性、安全性等諸多特點(diǎn),具備了較高的實(shí)用價值和推廣價值。第6章總結(jié)與展望6.1結(jié)論與啟示本文主要研究了基于STM32的自動施肥機(jī)的設(shè)計與實(shí)現(xiàn),通過對其硬件和軟件進(jìn)行詳細(xì)的分析和介紹,驗(yàn)證了該系統(tǒng)具有可行性和可靠性,并且能夠滿足現(xiàn)代農(nóng)業(yè)生產(chǎn)的需要。在實(shí)際的測試中,該系統(tǒng)能夠自主控制施肥量和施肥時間,實(shí)現(xiàn)了對作物生長全過程的監(jiān)控和管理。同時,該系統(tǒng)具有高靈敏度、高穩(wěn)定性、高精確度等特點(diǎn),具有很大的推廣價值。在進(jìn)行三種肥料進(jìn)行測試時,可以控制不同的肥料達(dá)到我們應(yīng)該達(dá)到的效果,在氮肥充足的條件下,我們控制磷肥和鉀肥的數(shù)量,進(jìn)行控制農(nóng)作物的生長方式,發(fā)現(xiàn)可以控制農(nóng)作物的生長速度,三種肥料充足的條件下我們進(jìn)行控制溫度和進(jìn)行測試,發(fā)現(xiàn)溫度和我們預(yù)料的基本相同,在25-35度的時候農(nóng)作物生長的速度最快,并且在夜間可以通過我們的自動光照模塊進(jìn)行自動的補(bǔ)光,低于120補(bǔ)光值的時候,我們的led等會自動打開進(jìn)行讓農(nóng)作物進(jìn)行補(bǔ)充光源操作,提高的農(nóng)作物的生長速度。已經(jīng)可以實(shí)現(xiàn)我們所需要的三大功能:自動補(bǔ)光功能,自動施肥功能,檢測溫度和濕度功能,并且通過WIFI發(fā)送給上位機(jī)進(jìn)行控制。結(jié)合本文的研究內(nèi)容,我們可以得出以下結(jié)論和啟示:一是基于STM32的

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論