孔繁庭 鄭朵朵
(蘭州文理學(xué)院傳媒工程學(xué)院,甘肅 蘭州 730010)
我國是人口大國,也是農(nóng)業(yè)大國,農(nóng)業(yè)的發(fā)展問題一直深受人們的關(guān)注,農(nóng)業(yè)對整個國家甚至整個民族的發(fā)展都是特別重要的。尤其近幾年,我國一再強(qiáng)調(diào)農(nóng)業(yè)發(fā)展的科技性。農(nóng)業(yè)發(fā)展得好,不僅能夠增強(qiáng)農(nóng)戶的收入,同時也能夠保障國家的糧食安全。在人們不斷追求健康的時代,蔬菜供不應(yīng)求。由于溫室大棚的結(jié)構(gòu)特別簡單,建造也比較容易,其可以避免惡劣天氣對農(nóng)作物的影響,而且建造溫室大棚可以營造農(nóng)作物所需要的環(huán)境,可以使得農(nóng)作物種植的時間不受限制,因此,溫室大棚的應(yīng)用成為人們所需要的,也逐漸發(fā)展成為農(nóng)民主要的經(jīng)濟(jì)來源,其溫室大棚的產(chǎn)品效益直接影響到農(nóng)民生活水平的提高,但是在實(shí)際的溫室大棚中還存在很多的問題,最主要的問題便是農(nóng)作物的運(yùn)輸,現(xiàn)在的溫室大棚長寬分別都在100m和10m以上,隨著蔬菜大棚的規(guī)模越來越大,對于蔬菜大棚的運(yùn)輸也提出了新的要求。傳統(tǒng)的蔬菜大棚規(guī)模小,自采自用,對于運(yùn)輸?shù)囊蟊容^低。但是目前,搭建蔬菜大棚不僅僅是為了滿足自家需求,更多的去向是市場輸送。運(yùn)輸量很大,傳統(tǒng)的運(yùn)輸費(fèi)時費(fèi)力,不夠便捷。
有些雖然采用小型運(yùn)輸車,但其運(yùn)輸車都是人工推運(yùn),不夠智能,且容易對工人造成傷害。所以,設(shè)計(jì)1套智能的蔬菜大棚運(yùn)輸系統(tǒng)非常有必要。本研究主要是設(shè)計(jì)1款基于單片機(jī)STC89C52芯片[1-3]、藍(lán)牙控制、直流電機(jī)[4,5]等控制原理,控制在蔬菜大棚軌道上可遙控的智能運(yùn)輸車。利用手機(jī)APP操控運(yùn)輸車,使其能夠智能化的運(yùn)輸蔬菜,以此來節(jié)省人力物力,高效運(yùn)輸蔬菜。
總體方案主要由電源、燈光控制模塊、藍(lán)牙控制模塊、直流電機(jī)、STC89C52芯片組成。電源、燈光控制模塊、藍(lán)牙控制模塊、直流電機(jī)都作用在STC89C52芯片上使其運(yùn)行??傮w設(shè)計(jì)方案如圖1所示。
在軌道上放小車,利用手機(jī)藍(lán)牙智能控制小車,使其能夠?qū)崿F(xiàn)前進(jìn),倒車,加速減速等功能;為其加入燈光控制模塊,使工作不受時間限制;為其加入喇叭控制模塊。
總硬件部分設(shè)計(jì)的電路由復(fù)位控制電路、晶振控制電路、MCU外圍控制電路和L298N對電機(jī)的驅(qū)動控制電路以及大燈和喇叭的自動控制電路等幾個部分組成。復(fù)位集成電路、晶振電路和MCU外圍電路又構(gòu)成最小51系統(tǒng)電路。整體硬件電路如圖2所示。
MCU外圍電路是在原來設(shè)計(jì)STC89C52RC核心板的基礎(chǔ)上制作一塊帶有按鍵,顯示接口和AD9805模塊的接口的底板。MCU作為集成控制系統(tǒng)的主要組成部分,負(fù)責(zé)采集和處理數(shù)據(jù),以及所有的邏輯運(yùn)算和最終控制的實(shí)現(xiàn)。MCU的外圍電路所使用的是一種模塊化的設(shè)計(jì)理念,就是可以將其中的部分劃分為不同類型的模塊,把比較好的部件作為一個單獨(dú)的電路板。MCU外圍電路如圖3所示。
復(fù)位控制電路可以確定STC89C52的開始運(yùn)行狀態(tài),并且在整個運(yùn)行過程中,可以有效確保微機(jī)系統(tǒng)中的各個電路能夠穩(wěn)定、可靠的正常工作。上電復(fù)位就是該復(fù)位電路第1個重要功能。復(fù)位電路如圖4所示。
晶振電路的作用是為電路提供一個參考頻率。晶振電路如圖5所示。
給單片機(jī)供電的就是1個電源控制器。電源電路如圖6所示。
2.6.1 燈控制模塊
為了使其工作不受時間限制,給其增加了燈光控制,如圖7所示。
2.6.2 喇叭控制模塊
給其增添了新的功能,喇叭。通過蜂鳴器傳遞一些信息。晶體管電路激發(fā)膜片振動產(chǎn)生音響。如圖8所示。
2.6.3 藍(lán)牙控制的顯示模塊
JDY-31是1種基于藍(lán)牙3.0 SPP接口設(shè)計(jì),可以支持Windows、Linux、Android數(shù)據(jù)透傳,有著2.4GHz的最大數(shù)據(jù)發(fā)射工作功率頻段,調(diào)制工作方式主要采用GFSK高斯頻移鍵控調(diào)制,最大的發(fā)射功率是8dB,最大的數(shù)據(jù)接收到整個發(fā)射器的距離也不過30m,用戶隨時都可以不通過AT等命令來進(jìn)行數(shù)據(jù)的修改,波特率等多種指令,方便迅速使用靈便。JDY-31為1種非常經(jīng)典的免費(fèi)藍(lán)牙無線網(wǎng)絡(luò)協(xié)議,可以和所有已經(jīng)支持無線藍(lán)牙的智能手機(jī)設(shè)備進(jìn)行無線連接。可廣泛應(yīng)用于Windows等電腦專用藍(lán)牙無線串口視頻透傳、Android等無線藍(lán)牙串口視頻透傳、智能家居藍(lán)牙監(jiān)視和自動控制、汽車等藍(lán)牙檢測電子裝置、藍(lán)牙電子玩具、共享無線移動通話電源、大家都可以使用的體重秤、醫(yī)生所用的儀器設(shè)備等。
小車通過藍(lán)牙連接到手機(jī),在手機(jī)里安裝一個APP,可以通過APP對小車進(jìn)行遙控。如圖9所示。
2.6.4 藍(lán)牙SPP串口透傳模塊引腳圖
藍(lán)牙SPP串口透傳模塊引腳圖如圖10所示。
其功能引腳說明如下。STATE:連接狀態(tài)引腳(未連接低電平,連接后高電平);RXD:串口輸入引腳(TTL電平);TXD:串口輸出引腳(TTL電平);GND:電源地;VCC:電源(支持3.6~6V);EN:空。
為確保設(shè)計(jì)的軌道運(yùn)輸小車的資金不會過高,超出預(yù)算,所以,單片機(jī)的芯片選擇STC89C52RC。
STC89C52RC是1種只讀存儲器,帶有8K字節(jié),可編程,可擦除。電壓不是很高,但其性能特別好,擁有8位微處理器,還可以稱其為單片機(jī)。其運(yùn)算功能特別厲害,可以靈活地對其進(jìn)行軟件編程,靈巧的軟件編程可以實(shí)現(xiàn)多種多樣的算法和一些邏輯控制,功率的損耗不是很大、體積也比較小、技術(shù)成熟和成本廉價等諸多優(yōu)點(diǎn),使其在各個領(lǐng)域內(nèi)都能得到廣泛應(yīng)用。
STC89C52RC與MCS-51兼容,數(shù)據(jù)傳輸時間能夠長期連續(xù)保存很久,全方位動態(tài)可連續(xù)工作,其最大數(shù)據(jù)工作頻率的鎖定范圍一般是0Hz~40MHz;外部程序中的存儲器一般可以進(jìn)行鎖定并分為3級,工作電壓的鎖定值一般是5.5~3.3V;內(nèi)部RAM共有128×8位,可以進(jìn)行編程使其I/O線路的長度一般為32;16位的中斷計(jì)數(shù)器/中斷定時器一共3個,中斷源一共有5個,閑置和自動掉電的工作模式都可以是較低的總功耗,還有片內(nèi)信號振蕩器和片內(nèi)時鐘自動控制電路。
TC89C52RC的穩(wěn)態(tài)邏輯相當(dāng)好,其中的靜態(tài)掉電邏輯不僅可以允許其在零設(shè)定頻率的掉電情況下同時運(yùn)行,而且還可以同時允許支持2個處理軟件之間各自建立可進(jìn)行選擇的動態(tài)掉電響應(yīng)模型。而在一個非常閑置的工作模式下,CPU都是自動暫時停止正常運(yùn)行工作的。但是RAM、定時器、計(jì)數(shù)器、串口及網(wǎng)絡(luò)中斷等硬件系統(tǒng)還是無法繼續(xù)正常工作。在一個實(shí)時掉電控制模式下,可以將RAM的掉電內(nèi)容數(shù)據(jù)進(jìn)行實(shí)時保存并且同時鎖定一個電源振蕩器,阻攔所用其他電源芯片的掉電功能,直到其掉電模式排除為止。如圖11所示。
其引腳說明如下。VCC:供電電壓;GND:接地;P0口:8位雙向I/0口,作為輸出端口;P1口:在編程和校驗(yàn)時,P1口作為第8位地址接收端口;P2口:在編程和校驗(yàn)時接收高8位地址信號和控制信號;P3口:可作為特殊功能口。
P3.0/RXD(串行輸入口);P3.1/TXD(串行輸出口);P3.2/INT0(外部中斷0);P3.3/INT1(外部中斷1);P3.4/T0(記時器0外部輸入);P3.5/T1(記時器1外部輸入);P3.6/WR(外部數(shù)據(jù)存儲器的寫選通);P3.7/RD(外部數(shù)據(jù)存儲器的讀選通);RST:復(fù)位輸入。其可以保持RST腳2個機(jī)器周期的高電平時間。
由于直流電機(jī)[3]的起動能力很強(qiáng),調(diào)速[5]性能也很好,有較強(qiáng)的過載能力,電磁干擾對直流電機(jī)的影響也很小,有著較大的旋轉(zhuǎn)矩,而且維修成本和價格也相對更加便宜,直流發(fā)電機(jī)的交換功率相比于交流來說更加環(huán)保。和步進(jìn)電機(jī)相比,直流電機(jī)驅(qū)動力也可以說是很強(qiáng)的,電源利用率也很好,故電機(jī)選用直流電機(jī)。
直流驅(qū)動電機(jī)主要用途是一種指將直流驅(qū)動電能直接轉(zhuǎn)化為直流機(jī)械驅(qū)動功率或者將直流機(jī)械驅(qū)動功率直接轉(zhuǎn)化為直流驅(qū)動電能,直流驅(qū)動電機(jī)又被稱之為高速旋轉(zhuǎn)直流電機(jī)。其電機(jī)是一種能夠直接進(jìn)行直流機(jī)械輸出的傳動電能與交流機(jī)械傳動功率相互作用轉(zhuǎn)化的直流電動機(jī)。當(dāng)其被使用當(dāng)作風(fēng)力電動機(jī)在正常高速運(yùn)行的正常情況下,其本身就是直流電力發(fā)動機(jī),可將所有的直流電能轉(zhuǎn)換為直流機(jī)械驅(qū)動功率,其被工作風(fēng)力發(fā)電機(jī)在正常高速運(yùn)行時,是由于直流機(jī)械驅(qū)動的風(fēng)力發(fā)電機(jī),可以把所有的機(jī)械驅(qū)動力都轉(zhuǎn)換成機(jī)械電能。
控制1個直流電機(jī)的正負(fù)轉(zhuǎn)矩就能夠?qū)崿F(xiàn)運(yùn)輸車的向前推移和后退等功能,采用了L298N直流電機(jī)驅(qū)動器芯片。前進(jìn)時5腳為1個持續(xù)的高電平,7腳為低電平;在后退過程中5腳是1個低電平,7腳是1個高電平。另外,再次通過改變方波的評率和高低電平就可以實(shí)現(xiàn)直流發(fā)電機(jī)運(yùn)行速度的控制。直流電機(jī)L298n驅(qū)動電路如12所示。
程序就是一組能識別和執(zhí)行的指令,每一條指令都會使計(jì)算機(jī)執(zhí)行指定的操作。程序設(shè)計(jì)先有一個整體的構(gòu)思,確定其任務(wù)和想要實(shí)現(xiàn)的結(jié)果,畫出程序框圖,寫出程序的過程,并對程序所出現(xiàn)的問題進(jìn)行修改,使得最終程序正確運(yùn)行。
在單片機(jī)應(yīng)用程序中,最普遍也是最容易的一種典型框架就是前后臺系統(tǒng),這種框架通常是由主函數(shù)的大循環(huán)和一個或幾個中斷服務(wù)程序組成。除了前后臺系統(tǒng),還有一個設(shè)計(jì)思路,是通過設(shè)置一個全局變量global,改變global的值從而使單片機(jī)工作在不同的狀態(tài)以應(yīng)對不同的需求,這其實(shí)也是前后臺系統(tǒng)的一個改進(jìn)版,一個變量上可以匯聚不同的中斷觸發(fā)情況,方便后臺系統(tǒng)在各個狀態(tài)之間切換。除了這2種設(shè)計(jì)思路外,還可以選擇在嵌入式操作系統(tǒng)中處理一些更加復(fù)雜的任務(wù)。軟件設(shè)計(jì)流程圖如圖13所示。
系統(tǒng)的調(diào)試過程主要分模塊調(diào)試和系統(tǒng)統(tǒng)調(diào)。
其中系統(tǒng)的模塊調(diào)試在各模塊的設(shè)計(jì)過程中完成,基本上按照“設(shè)計(jì)—調(diào)試—修改”的過程反復(fù)進(jìn)行直到能達(dá)到設(shè)計(jì)要求。
系統(tǒng)軟件的調(diào)試在系統(tǒng)統(tǒng)調(diào)中占據(jù)很大的比重。在軟件的設(shè)計(jì)過程中使用了C語言,Keli軟件,用這些來代替單片機(jī)能夠及時看到程序運(yùn)行的結(jié)果。
寫好所需要的程序,進(jìn)行測試,測試就是發(fā)現(xiàn)程序中的錯誤,發(fā)現(xiàn)錯誤之后,就要對其進(jìn)行調(diào)試,調(diào)試分為2步:確定其錯誤的位置并將其修改。
軟件的自動調(diào)試使用方法主要包括諸如暴力分析法自動調(diào)試、歸納法自動調(diào)試、演繹分析法自動調(diào)試、回歸分朔法自動調(diào)試、測試法自動調(diào)試等多種新的調(diào)試使用方法。其中暴力法調(diào)試糜費(fèi)腦力,效率不高,在軟件調(diào)試中盡量不使用。回朔法調(diào)試一般適用于小型程序。歸納法調(diào)試是統(tǒng)攬全局,不錯過任何一個細(xì)節(jié)。將這些數(shù)據(jù)聯(lián)系起來,就可以歸納得出結(jié)果。其具體步驟:鎖定出現(xiàn)錯誤的位置,將這些錯誤的信息聯(lián)系起來,總結(jié)出其有用的信息,并對這些有用的數(shù)據(jù)進(jìn)行分析且作出合理的假設(shè),再證明假設(shè)是否成立,若假設(shè)成立,則解決問題就可以。演繹法和歸納法的邏輯相反,測試調(diào)試可以結(jié)合歸納法和演繹法一起使用。
APP就是電腦用C++編輯器編寫代碼后,再打包運(yùn)行。給運(yùn)輸車插上電,打開手機(jī)藍(lán)牙,運(yùn)輸車的藍(lán)牙和手機(jī)藍(lán)牙配對成功,開始在手機(jī)上點(diǎn)擊前進(jìn)、后退、左轉(zhuǎn)、右轉(zhuǎn)、加速、減速等按鍵測試性能。
通過對智能大棚運(yùn)輸車取代傳統(tǒng)運(yùn)輸車以及改善傳統(tǒng)的運(yùn)輸方式的應(yīng)用研究,從總體框架、設(shè)計(jì)所需要實(shí)現(xiàn)的基本功能、硬件電路、軟件程序設(shè)計(jì)等方面都證實(shí)了本研究可以實(shí)現(xiàn)智能運(yùn)輸車功能的結(jié)論,利用手機(jī)APP就能夠使得該運(yùn)輸小車可??蛇\(yùn),可加速、減速、倒車行駛。